[
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            4
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator::AccumulatorRoot",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "accumulator",
          "name": "AccumulatorRoot",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "address",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator::Key",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "accumulator",
          "name": "Key",
          "kind": 1
        },
        {
          "abilities": [
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "value",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator::U128",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "accumulator",
          "name": "U128",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "accumulator_address",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator::Key"
              }
            }
          ],
          "name": "accumulator_key",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator::AccumulatorRoot"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "accumulator_u128_exists",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator::AccumulatorRoot"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "name": "accumulator_u128_read",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "create",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator::U128"
              }
            }
          ],
          "name": "create_u128",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator::U128"
              }
            }
          ],
          "returns": [],
          "name": "destroy_u128",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [],
          "name": "emit_deposit_event",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [],
          "name": "emit_withdraw_event",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator::U128"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_zero_u128",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator::AccumulatorRoot"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator::Key"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "returns": [],
          "name": "root_add_accumulator",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator::AccumulatorRoot"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator::Key"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "root_borrow_accumulator",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator::AccumulatorRoot"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator::Key"
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "root_borrow_accumulator_mut",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator::AccumulatorRoot"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator::Key"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "root_has_accumulator",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator::AccumulatorRoot"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "name": "root_id",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator::AccumulatorRoot"
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "name": "root_id_mut",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator::AccumulatorRoot"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator::Key"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "root_remove_accumulator",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator::U128"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "returns": [],
          "name": "update_u128",
          "visibility": 3,
          "isEntry": false
        }
      ],
      "name": "accumulator"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "dummy_field",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator_metadata::AccumulatorObjectCountKey",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "accumulator_metadata",
          "name": "AccumulatorObjectCountKey",
          "kind": 1
        },
        {
          "abilities": [
            3
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "fields",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bag::Bag"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator_metadata::Metadata",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "accumulator_metadata",
          "name": "Metadata",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "dummy_field",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator_metadata::MetadataKey",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "accumulator_metadata",
          "name": "MetadataKey",
          "kind": 1
        },
        {
          "abilities": [
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "balances",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bag::Bag"
              }
            },
            {
              "name": "owner",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator_metadata::Owner",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "accumulator_metadata",
          "name": "Owner",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "owner",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator_metadata::OwnerKey",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "accumulator_metadata",
          "name": "OwnerKey",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator::AccumulatorRoot"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "get_accumulator_object_count",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator::AccumulatorRoot"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [],
          "name": "record_accumulator_object_changes",
          "visibility": 1,
          "isEntry": false
        }
      ],
      "name": "accumulator_metadata"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "mmr",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 8
                  }
                ],
                "type": 9
              }
            },
            {
              "name": "checkpoint_seq",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "num_events",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator_settlement::EventStreamHead",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "accumulator_settlement",
          "name": "EventStreamHead",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 8
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "add_to_mmr",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "name": "hash_two_to_one_u256",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator_settlement::EventStreamHead"
              }
            }
          ],
          "name": "new_stream_head",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [],
          "name": "record_settlement_sui_conservation",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator::AccumulatorRoot"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "settle_events",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator::AccumulatorRoot"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "settle_u128",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator::AccumulatorRoot"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "settlement_prologue",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "name": "u256_from_bytes",
          "visibility": 1,
          "isEntry": false
        }
      ],
      "name": "accumulator_settlement"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "from_ascii_bytes",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "from_bytes",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "from_u256",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "name": "hex_char_value",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "length",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "name": "max",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "name": "to_ascii_string",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "to_bytes",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "to_string",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "name": "to_u256",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "address"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            4
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "version",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::address_alias::AddressAliasState",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "address_alias",
          "name": "AddressAliasState",
          "kind": 1
        },
        {
          "abilities": [
            4
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "aliases",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::address_alias::AddressAliases",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "address_alias",
          "name": "AddressAliases",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "pos0",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::address_alias::AliasKey",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "address_alias",
          "name": "AliasKey",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::address_alias::AddressAliases"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [],
          "name": "add",
          "visibility": 1,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "create",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::address_alias::AddressAliasState"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "enable",
          "visibility": 1,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::address_alias::AddressAliases"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [],
          "name": "remove",
          "visibility": 1,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::address_alias::AddressAliases"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "replace_all",
          "visibility": 1,
          "isEntry": true
        }
      ],
      "name": "address_alias"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "jwk_id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::authenticator_state::JwkId"
              }
            },
            {
              "name": "jwk",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::authenticator_state::JWK"
              }
            },
            {
              "name": "epoch",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::authenticator_state::ActiveJwk",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "authenticator_state",
          "name": "ActiveJwk",
          "kind": 1
        },
        {
          "abilities": [
            4
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "version",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::authenticator_state::AuthenticatorState",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "authenticator_state",
          "name": "AuthenticatorState",
          "kind": 1
        },
        {
          "abilities": [
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "version",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "active_jwks",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::authenticator_state::ActiveJwk"
                  }
                ],
                "type": 9
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::authenticator_state::AuthenticatorStateInner",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "authenticator_state",
          "name": "AuthenticatorStateInner",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "kty",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "name": "e",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "name": "n",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "name": "alg",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::authenticator_state::JWK",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "authenticator_state",
          "name": "JWK",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "iss",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "name": "kid",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::authenticator_state::JwkId",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "authenticator_state",
          "name": "JwkId",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::authenticator_state::ActiveJwk"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::authenticator_state::ActiveJwk"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "active_jwk_equal",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::authenticator_state::ActiveJwk"
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "check_sorted",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "create",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::authenticator_state::ActiveJwk"
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::authenticator_state::ActiveJwk"
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "deduplicate",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::authenticator_state::AuthenticatorState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "expire_jwks",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::authenticator_state::AuthenticatorState"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::authenticator_state::ActiveJwk"
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "get_active_jwks",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::authenticator_state::JWK"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::authenticator_state::JWK"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "jwk_equal",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::authenticator_state::JwkId"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::authenticator_state::JwkId"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "jwk_id_equal",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::authenticator_state::ActiveJwk"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::authenticator_state::ActiveJwk"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "jwk_lt",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::authenticator_state::AuthenticatorState"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::authenticator_state::AuthenticatorStateInner"
              }
            }
          ],
          "name": "load_inner",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::authenticator_state::AuthenticatorState"
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::authenticator_state::AuthenticatorStateInner"
              }
            }
          ],
          "name": "load_inner_mut",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "string_bytes_lt",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::authenticator_state::AuthenticatorState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::authenticator_state::ActiveJwk"
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_authenticator_state",
          "visibility": 1,
          "isEntry": false
        }
      ],
      "name": "authenticator_state"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            3,
            4
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "size",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bag::Bag",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "bag",
          "name": "Bag",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bag::Bag"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "returns": [],
          "name": "add",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bag::Bag"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "borrow",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bag::Bag"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "borrow_mut",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bag::Bag"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "contains",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bag::Bag"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "contains_with_type",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bag::Bag"
              }
            }
          ],
          "returns": [],
          "name": "destroy_empty",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bag::Bag"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_empty",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bag::Bag"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "length",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bag::Bag"
              }
            }
          ],
          "name": "new",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bag::Bag"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "remove",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "bag"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            3
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "value",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "balance",
          "name": "Balance",
          "kind": 1
        },
        {
          "abilities": [
            3
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "value",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Supply",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "balance",
          "name": "Supply",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "name": "create_staking_rewards",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Supply"
              }
            }
          ],
          "name": "create_supply",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Supply"
              }
            }
          ],
          "name": "create_supply_internal",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Supply"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "decrease_supply",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "destroy_storage_rebates",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Supply"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "destroy_supply",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "returns": [],
          "name": "destroy_zero",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Supply"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "name": "increase_supply",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "join",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 11,
                        "typeParameter": 0
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::funds_accumulator::Withdrawal"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "name": "redeem_funds",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [],
          "name": "send_funds",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::accumulator::AccumulatorRoot"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "settled_funds_value",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "name": "split",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Supply"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "supply_value",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "value",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "name": "withdraw_all",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 11,
                        "typeParameter": 0
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::funds_accumulator::Withdrawal"
              }
            }
          ],
          "name": "withdraw_funds_from_object",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "name": "zero",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "balance"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "bytes",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bcs::BCS",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "bcs",
          "name": "BCS",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bcs::BCS"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "into_remainder_bytes",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bcs::BCS"
              }
            }
          ],
          "name": "new",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bcs::BCS"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "peel_address",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bcs::BCS"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "peel_bool",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bcs::BCS"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "name": "peel_enum_tag",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bcs::BCS"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "peel_option_address",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bcs::BCS"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 2
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "peel_option_bool",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bcs::BCS"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 7
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "peel_option_u128",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bcs::BCS"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 4
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "peel_option_u16",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bcs::BCS"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 8
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "peel_option_u256",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bcs::BCS"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 5
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "peel_option_u32",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bcs::BCS"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "peel_option_u64",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bcs::BCS"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "peel_option_u8",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bcs::BCS"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "name": "peel_u128",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bcs::BCS"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "name": "peel_u16",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bcs::BCS"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "name": "peel_u256",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bcs::BCS"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "name": "peel_u32",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bcs::BCS"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "peel_u64",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bcs::BCS"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "name": "peel_u8",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bcs::BCS"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "peel_vec_address",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bcs::BCS"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 2
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "peel_vec_bool",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bcs::BCS"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "peel_vec_length",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bcs::BCS"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 7
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "peel_vec_u128",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bcs::BCS"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 4
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "peel_vec_u16",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bcs::BCS"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 8
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "peel_vec_u256",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bcs::BCS"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 5
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "peel_vec_u32",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bcs::BCS"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "peel_vec_u64",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bcs::BCS"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "peel_vec_u8",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bcs::BCS"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 3
                      }
                    ],
                    "type": 9
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "peel_vec_vec_u8",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "to_bytes",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "bcs"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [],
          "typeParameters": [],
          "fields": [
            {
              "name": "dummy_field",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G1",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "bls12381",
          "name": "G1",
          "kind": 1
        },
        {
          "abilities": [],
          "typeParameters": [],
          "fields": [
            {
              "name": "dummy_field",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G2",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "bls12381",
          "name": "G2",
          "kind": 1
        },
        {
          "abilities": [],
          "typeParameters": [],
          "fields": [
            {
              "name": "dummy_field",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::GT",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "bls12381",
          "name": "GT",
          "kind": 1
        },
        {
          "abilities": [],
          "typeParameters": [],
          "fields": [
            {
              "name": "dummy_field",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::Scalar",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "bls12381",
          "name": "Scalar",
          "kind": 1
        },
        {
          "abilities": [],
          "typeParameters": [],
          "fields": [
            {
              "name": "dummy_field",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::UncompressedG1",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "bls12381",
          "name": "UncompressedG1",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "bls12381_min_pk_verify",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "bls12381_min_sig_verify",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G1"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G1"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G1"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "g1_add",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G1"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G1"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "g1_div",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G1"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "g1_from_bytes",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G1"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "g1_generator",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G1"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "g1_identity",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G1"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G1"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "g1_mul",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 10,
                        "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::Scalar"
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 10,
                        "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G1"
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G1"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "g1_multi_scalar_multiplication",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G1"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G1"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "g1_neg",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G1"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G1"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G1"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "g1_sub",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G1"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::UncompressedG1"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "g1_to_uncompressed_g1",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G2"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G2"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G2"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "g2_add",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G2"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G2"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "g2_div",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G2"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "g2_from_bytes",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G2"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "g2_generator",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G2"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "g2_identity",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G2"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G2"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "g2_mul",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 10,
                        "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::Scalar"
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 10,
                        "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G2"
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G2"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "g2_multi_scalar_multiplication",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G2"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G2"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "g2_neg",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G2"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G2"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G2"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "g2_sub",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::GT"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::GT"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::GT"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "gt_add",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::GT"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::GT"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "gt_div",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::GT"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "gt_generator",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::GT"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "gt_identity",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::GT"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::GT"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "gt_mul",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::GT"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::GT"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "gt_neg",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::GT"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::GT"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::GT"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "gt_sub",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G1"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "hash_to_g1",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G2"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "hash_to_g2",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G1"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G2"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::GT"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "pairing",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "scalar_add",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "scalar_div",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "scalar_from_bytes",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "scalar_from_u64",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "scalar_inv",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "scalar_mul",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "scalar_neg",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "scalar_one",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "scalar_sub",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "scalar_zero",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 10,
                        "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::UncompressedG1"
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::UncompressedG1"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "uncompressed_g1_sum",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::UncompressedG1"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bls12381::G1"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "uncompressed_g1_to_g1",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "bls12381"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [],
          "typeParameters": [],
          "fields": [
            {
              "name": "ref",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "name": "obj",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::borrow::Borrow",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "borrow",
          "name": "Borrow",
          "kind": 1
        },
        {
          "abilities": [
            3
          ],
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ],
              "isPhantom": false
            }
          ],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "name": "value",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::borrow::Referent",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "borrow",
          "name": "Referent",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::borrow::Referent"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::borrow::Borrow"
              }
            }
          ],
          "name": "borrow",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::borrow::Referent"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "destroy",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::borrow::Referent"
              }
            }
          ],
          "name": "new",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::borrow::Referent"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::borrow::Borrow"
              }
            }
          ],
          "returns": [],
          "name": "put_back",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "borrow"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            4
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "timestamp_ms",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "clock",
          "name": "Clock",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "consensus_commit_prologue",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "create",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "timestamp_ms",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "clock"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            3,
            4
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "balance",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "coin",
          "name": "Coin",
          "kind": 1
        },
        {
          "abilities": [
            3,
            4
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "decimals",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "name": "name",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "name": "symbol",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            },
            {
              "name": "description",
              "position": 4,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "name": "icon_url",
              "position": 5,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::url::Url"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::CoinMetadata",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "coin",
          "name": "CoinMetadata",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "decimals",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::CurrencyCreated",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "coin",
          "name": "CurrencyCreated",
          "kind": 1
        },
        {
          "abilities": [
            3,
            4
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::DenyCap",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "coin",
          "name": "DenyCap",
          "kind": 1
        },
        {
          "abilities": [
            3,
            4
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "allow_global_pause",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::DenyCapV2",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "coin",
          "name": "DenyCapV2",
          "kind": 1
        },
        {
          "abilities": [
            4
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "coin_metadata_object",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "name": "deny_cap_object",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::RegulatedCoinMetadata",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "coin",
          "name": "RegulatedCoinMetadata",
          "kind": 1
        },
        {
          "abilities": [
            3,
            4
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "total_supply",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Supply"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "coin",
          "name": "TreasuryCap",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::DenyCapV2"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "allow_global_pause",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "name": "balance",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "name": "balance_mut",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "burn",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::url::Url"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::CoinMetadata"
              }
            }
          ],
          "name": "create_currency",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::url::Url"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::DenyCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::CoinMetadata"
              }
            }
          ],
          "name": "create_regulated_currency",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::url::Url"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::DenyCapV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::CoinMetadata"
              }
            }
          ],
          "name": "create_regulated_currency_v2",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::RegulatedCoinMetadata"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "name": "deny_cap_id",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::DenyList"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::DenyCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "deny_list_add",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::DenyList"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "deny_list_contains",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::DenyList"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::DenyCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "deny_list_remove",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::DenyList"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::DenyCapV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "deny_list_v2_add",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::DenyList"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "deny_list_v2_contains_current_epoch",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::DenyList"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "deny_list_v2_contains_next_epoch",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::DenyList"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::DenyCapV2"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "deny_list_v2_disable_global_pause",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::DenyList"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::DenyCapV2"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "deny_list_v2_enable_global_pause",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::DenyList"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "deny_list_v2_is_global_pause_enabled_current_epoch",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::DenyList"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "deny_list_v2_is_global_pause_enabled_next_epoch",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::DenyList"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::DenyCapV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "deny_list_v2_remove",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::CoinMetadata"
              }
            }
          ],
          "returns": [],
          "name": "destroy_metadata",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            }
          ],
          "returns": [],
          "name": "destroy_zero",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 11,
                        "typeParameter": 0
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "divide_into_n",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            }
          ],
          "name": "from_balance",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::CoinMetadata"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "name": "get_decimals",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::CoinMetadata"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "get_description",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::CoinMetadata"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::url::Url"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "get_icon_url",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::CoinMetadata"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "get_name",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::CoinMetadata"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "name": "get_symbol",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "name": "into_balance",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            }
          ],
          "returns": [],
          "name": "join",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::DenyList"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::DenyCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::DenyCapV2"
              }
            }
          ],
          "name": "migrate_regulated_currency_to_v2",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            }
          ],
          "name": "mint",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "mint_and_transfer",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "name": "mint_balance",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::CoinMetadata"
              }
            }
          ],
          "name": "new_coin_metadata",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::DenyCapV2"
              }
            }
          ],
          "name": "new_deny_cap_v2",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap"
              }
            }
          ],
          "name": "new_treasury_cap",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            }
          ],
          "returns": [],
          "name": "put",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 11,
                        "typeParameter": 0
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::funds_accumulator::Withdrawal"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            }
          ],
          "name": "redeem_funds",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [],
          "name": "send_funds",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            }
          ],
          "name": "split",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Supply"
              }
            }
          ],
          "name": "supply",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Supply"
              }
            }
          ],
          "name": "supply_immut",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap"
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Supply"
              }
            }
          ],
          "name": "supply_mut",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            }
          ],
          "name": "take",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "total_supply",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Supply"
              }
            }
          ],
          "name": "treasury_into_supply",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::CoinMetadata"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "returns": [],
          "name": "update_coin_metadata",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::CoinMetadata"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "returns": [],
          "name": "update_description",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::CoinMetadata"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "returns": [],
          "name": "update_icon_url",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::CoinMetadata"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "returns": [],
          "name": "update_name",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::CoinMetadata"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "returns": [],
          "name": "update_symbol",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "value",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            }
          ],
          "name": "zero",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "coin"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "dummy_field",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Borrow",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "coin_registry",
          "name": "Borrow",
          "kind": 1
        },
        {
          "abilities": [
            4
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::CoinRegistry",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "coin_registry",
          "name": "CoinRegistry",
          "kind": 1
        },
        {
          "abilities": [
            4
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "decimals",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "name": "name",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "name": "symbol",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "name": "description",
              "position": 4,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "name": "icon_url",
              "position": 5,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "name": "supply",
              "position": 6,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 11,
                        "typeParameter": 0
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::SupplyState"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "name": "regulated",
              "position": 7,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::RegulatedState"
              }
            },
            {
              "name": "treasury_cap_id",
              "position": 8,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "name": "metadata_cap_id",
              "position": 9,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::MetadataCapState"
              }
            },
            {
              "name": "extra_fields",
              "position": 10,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::ExtraField"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "coin_registry",
          "name": "Currency",
          "kind": 1
        },
        {
          "abilities": [],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "currency",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            },
            {
              "name": "extra_fields",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bag::Bag"
              }
            },
            {
              "name": "is_otw",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::CurrencyInitializer",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "coin_registry",
          "name": "CurrencyInitializer",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "dummy_field",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::CurrencyKey",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "coin_registry",
          "name": "CurrencyKey",
          "kind": 1
        },
        {
          "abilities": [
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "pos0",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::type_name::TypeName"
              }
            },
            {
              "name": "pos1",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::ExtraField",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "coin_registry",
          "name": "ExtraField",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "dummy_field",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::LegacyMetadataKey",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "coin_registry",
          "name": "LegacyMetadataKey",
          "kind": 1
        },
        {
          "abilities": [
            3,
            4
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::MetadataCap",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "coin_registry",
          "name": "MetadataCap",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [],
          "variants": [
            {
              "fields": [
                {
                  "name": "pos0",
                  "position": 0,
                  "type": {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
                  }
                }
              ],
              "name": "Claimed",
              "position": 0
            },
            {
              "fields": [],
              "name": "Unclaimed",
              "position": 1
            },
            {
              "fields": [],
              "name": "Deleted",
              "position": 2
            }
          ],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::MetadataCapState",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "coin_registry",
          "name": "MetadataCapState",
          "kind": 2
        },
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [],
          "variants": [
            {
              "fields": [
                {
                  "name": "cap",
                  "position": 0,
                  "type": {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
                  }
                },
                {
                  "name": "allow_global_pause",
                  "position": 1,
                  "type": {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 2
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
                  }
                },
                {
                  "name": "variant",
                  "position": 2,
                  "type": {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                }
              ],
              "name": "Regulated",
              "position": 0
            },
            {
              "fields": [],
              "name": "Unregulated",
              "position": 1
            },
            {
              "fields": [],
              "name": "Unknown",
              "position": 2
            }
          ],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::RegulatedState",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "coin_registry",
          "name": "RegulatedState",
          "kind": 2
        },
        {
          "abilities": [
            3
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [],
          "variants": [
            {
              "fields": [
                {
                  "name": "pos0",
                  "position": 0,
                  "type": {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 11,
                        "typeParameter": 0
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Supply"
                  }
                }
              ],
              "name": "Fixed",
              "position": 0
            },
            {
              "fields": [
                {
                  "name": "pos0",
                  "position": 0,
                  "type": {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 11,
                        "typeParameter": 0
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Supply"
                  }
                }
              ],
              "name": "BurnOnly",
              "position": 1
            },
            {
              "fields": [],
              "name": "Unknown",
              "position": 2
            }
          ],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::SupplyState",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "coin_registry",
          "name": "SupplyState",
          "kind": 2
        }
      ],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::CoinMetadata"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Borrow"
              }
            }
          ],
          "name": "borrow_legacy_metadata",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            }
          ],
          "returns": [],
          "name": "burn",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "returns": [],
          "name": "burn_balance",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::MetadataCap"
              }
            }
          ],
          "name": "claim_metadata_cap",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "create",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "name": "decimals",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::MetadataCap"
              }
            }
          ],
          "returns": [],
          "name": "delete_metadata_cap",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::CoinMetadata"
              }
            }
          ],
          "returns": [],
          "name": "delete_migrated_legacy_metadata",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "deny_cap_id",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "description",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::CoinRegistry"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "exists",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::CurrencyInitializer"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::MetadataCap"
              }
            }
          ],
          "name": "finalize",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::CurrencyInitializer"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "finalize_and_delete_metadata_cap",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::CoinRegistry"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 11,
                        "typeParameter": 0
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer::Receiving"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "finalize_registration",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "icon_url",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_metadata_cap_claimed",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_metadata_cap_deleted",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_migrated_from_legacy",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_regulated",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_supply_burn_only",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_supply_fixed",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::CurrencyInitializer"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::DenyCapV2"
              }
            }
          ],
          "name": "make_regulated",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap"
              }
            }
          ],
          "returns": [],
          "name": "make_supply_burn_only",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::CurrencyInitializer"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap"
              }
            }
          ],
          "returns": [],
          "name": "make_supply_burn_only_init",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap"
              }
            }
          ],
          "returns": [],
          "name": "make_supply_fixed",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::CurrencyInitializer"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap"
              }
            }
          ],
          "returns": [],
          "name": "make_supply_fixed_init",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "metadata_cap_id",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::CoinRegistry"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::CoinMetadata"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "migrate_legacy_metadata",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::DenyCapV2"
              }
            }
          ],
          "returns": [],
          "name": "migrate_regulated_state_by_cap",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::RegulatedCoinMetadata"
              }
            }
          ],
          "returns": [],
          "name": "migrate_regulated_state_by_metadata",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "name",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::CoinRegistry"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::CurrencyInitializer"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap"
              }
            }
          ],
          "name": "new_currency",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::CurrencyInitializer"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap"
              }
            }
          ],
          "name": "new_currency_with_otw",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::CoinMetadata"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Borrow"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "return_borrowed_legacy_metadata",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::MetadataCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "returns": [],
          "name": "set_description",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::MetadataCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "returns": [],
          "name": "set_icon_url",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::MetadataCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "returns": [],
          "name": "set_name",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap"
              }
            }
          ],
          "returns": [],
          "name": "set_treasury_cap_id",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "symbol",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::CoinMetadata"
              }
            }
          ],
          "name": "to_legacy_metadata",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "total_supply",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "treasury_cap_id",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin_registry::Currency"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::CoinMetadata"
              }
            }
          ],
          "returns": [],
          "name": "update_from_legacy_metadata",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "coin_registry"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            4
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::config::Config",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "config",
          "name": "Config",
          "kind": 1
        },
        {
          "abilities": [
            2,
            3
          ],
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ],
              "isPhantom": false
            }
          ],
          "fields": [
            {
              "name": "data",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 11,
                        "typeParameter": 0
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::config::SettingData"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::config::Setting",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "config",
          "name": "Setting",
          "kind": 1
        },
        {
          "abilities": [
            2,
            3
          ],
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ],
              "isPhantom": false
            }
          ],
          "fields": [
            {
              "name": "newer_value_epoch",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "newer_value",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "name": "older_value_opt",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::config::SettingData",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "config",
          "name": "SettingData",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": []
            },
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                1,
                2,
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::config::Config"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 2
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 2
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "add_for_next_epoch",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            },
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                1,
                2,
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::config::Config"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 2
              }
            }
          ],
          "name": "borrow_for_next_epoch_mut",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            },
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                1,
                2,
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::config::Config"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "exists_with_type",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            },
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                1,
                2,
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::config::Config"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "exists_with_type_for_next_epoch",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::config::Config"
              }
            }
          ],
          "name": "new",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                1,
                2,
                3
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "read_setting",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            },
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                1,
                2,
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::config::Config"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 2
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "read_setting_for_next_epoch",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            },
            {
              "constraints": [
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            },
            {
              "constraints": [
                1,
                2,
                3
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 3
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "read_setting_impl",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            },
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                1,
                2,
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::config::Config"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 2
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "remove_for_next_epoch",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::config::Config"
              }
            }
          ],
          "returns": [],
          "name": "share",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::config::Config"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [],
          "name": "transfer",
          "visibility": 3,
          "isEntry": false
        }
      ],
      "name": "config"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "pos0",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::AddressKey",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "deny_list",
          "name": "AddressKey",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "per_type_index",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "per_type_key",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::ConfigKey",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "deny_list",
          "name": "ConfigKey",
          "kind": 1
        },
        {
          "abilities": [
            2
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "dummy_field",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::ConfigWriteCap",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "deny_list",
          "name": "ConfigWriteCap",
          "kind": 1
        },
        {
          "abilities": [
            4
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "lists",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bag::Bag"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::DenyList",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "deny_list",
          "name": "DenyList",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "dummy_field",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::GlobalPauseKey",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "deny_list",
          "name": "GlobalPauseKey",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "key",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::ConfigKey"
              }
            },
            {
              "name": "config_id",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::PerTypeConfigCreated",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "deny_list",
          "name": "PerTypeConfigCreated",
          "kind": 1
        },
        {
          "abilities": [
            3,
            4
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "denied_count",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table::Table"
              }
            },
            {
              "name": "denied_addresses",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 3
                      }
                    ],
                    "type": 9
                  },
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 1
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table::Table"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::PerTypeList",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "deny_list",
          "name": "PerTypeList",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::DenyList"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "add_per_type_config",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::DenyList"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::ConfigWriteCap"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::config::Config"
              }
            }
          ],
          "name": "borrow_per_type_config",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::DenyList"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::ConfigWriteCap"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::config::Config"
              }
            }
          ],
          "name": "borrow_per_type_config_mut",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "create",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::DenyList"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "migrate_v1_to_v2",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::DenyList"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "per_type_exists",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::PerTypeList"
              }
            }
          ],
          "name": "per_type_list",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::DenyList"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [],
          "name": "v1_add",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::DenyList"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "v1_contains",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::PerTypeList"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [],
          "name": "v1_per_type_list_add",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::PerTypeList"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "v1_per_type_list_contains",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::PerTypeList"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [],
          "name": "v1_per_type_list_remove",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::DenyList"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [],
          "name": "v1_remove",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::DenyList"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "v2_add",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::DenyList"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "v2_contains_current_epoch",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::DenyList"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "v2_contains_next_epoch",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::DenyList"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "v2_disable_global_pause",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::DenyList"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "v2_enable_global_pause",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::DenyList"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "v2_is_global_pause_enabled_current_epoch",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::DenyList"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "v2_is_global_pause_enabled_next_epoch",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::deny_list::DenyList"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "v2_remove",
          "visibility": 3,
          "isEntry": false
        }
      ],
      "name": "deny_list"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "pos0",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::derived_object::Claimed",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "derived_object",
          "name": "Claimed",
          "kind": 1
        },
        {
          "abilities": [
            3
          ],
          "typeParameters": [],
          "fields": [],
          "variants": [
            {
              "fields": [],
              "name": "Reserved",
              "position": 0
            }
          ],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::derived_object::ClaimedStatus",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "derived_object",
          "name": "ClaimedStatus",
          "kind": 2
        },
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ],
              "isPhantom": false
            }
          ],
          "fields": [
            {
              "name": "pos0",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::derived_object::DerivedObjectKey",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "derived_object",
          "name": "DerivedObjectKey",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "name": "claim",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "derive_address",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "exists",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "derived_object"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            3,
            4
          ],
          "typeParameters": [
            {
              "constraints": [
                4
              ],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "fields",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            },
            {
              "name": "version",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display::Display",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "display",
          "name": "Display",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2
          ],
          "typeParameters": [
            {
              "constraints": [
                4
              ],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display::DisplayCreated",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "display",
          "name": "DisplayCreated",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2
          ],
          "typeParameters": [
            {
              "constraints": [
                4
              ],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "name": "version",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            },
            {
              "name": "fields",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display::VersionUpdated",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "display",
          "name": "VersionUpdated",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display::Display"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "returns": [],
          "name": "add",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display::Display"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "returns": [],
          "name": "add_internal",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display::Display"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "add_multiple",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::Publisher"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "create_and_keep",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display::Display"
              }
            }
          ],
          "name": "create_internal",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display::Display"
              }
            }
          ],
          "returns": [],
          "name": "destroy",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display::Display"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "returns": [],
          "name": "edit",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display::Display"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            }
          ],
          "name": "fields",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::Publisher"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_authorized",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::Publisher"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display::Display"
              }
            }
          ],
          "name": "new",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::Publisher"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display::Display"
              }
            }
          ],
          "name": "new_with_fields",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display::Display"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "returns": [],
          "name": "remove",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display::Display"
              }
            }
          ],
          "returns": [],
          "name": "update_version",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display::Display"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "name": "version",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "display"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            4
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "fields",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            },
            {
              "name": "cap_id",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::Display",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "display_registry",
          "name": "Display",
          "kind": 1
        },
        {
          "abilities": [
            3,
            4
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::DisplayCap",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "display_registry",
          "name": "DisplayCap",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "dummy_field",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::DisplayKey",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "display_registry",
          "name": "DisplayKey",
          "kind": 1
        },
        {
          "abilities": [
            4
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::DisplayRegistry",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "display_registry",
          "name": "DisplayRegistry",
          "kind": 1
        },
        {
          "abilities": [
            4
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::SystemMigrationCap",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "display_registry",
          "name": "SystemMigrationCap",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::Display"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "cap_id",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::Display"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display::Display"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::DisplayCap"
              }
            }
          ],
          "name": "claim",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::Display"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::Publisher"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::DisplayCap"
              }
            }
          ],
          "name": "claim_with_publisher",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::Display"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::DisplayCap"
              }
            }
          ],
          "returns": [],
          "name": "clear",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "create",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::Display"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display::Display"
              }
            }
          ],
          "returns": [],
          "name": "delete_legacy",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::SystemMigrationCap"
              }
            }
          ],
          "returns": [],
          "name": "destroy_system_migration_cap",
          "visibility": 1,
          "isEntry": true
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::Display"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            }
          ],
          "name": "fields",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::DisplayRegistry"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display::Display"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::Display"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::DisplayCap"
              }
            }
          ],
          "name": "migrate_v1_to_v2",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "migration_cap_receiver",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::DisplayRegistry"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::internal::Permit"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::Display"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::DisplayCap"
              }
            }
          ],
          "name": "new",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::DisplayRegistry"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::Display"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::DisplayCap"
              }
            }
          ],
          "name": "new_display",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::DisplayRegistry"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::Publisher"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::Display"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::DisplayCap"
              }
            }
          ],
          "name": "new_with_publisher",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::Display"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::DisplayCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "returns": [],
          "name": "set",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::Display"
              }
            }
          ],
          "returns": [],
          "name": "share",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::DisplayRegistry"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::SystemMigrationCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "system_migration",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::SystemMigrationCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [],
          "name": "transfer_migration_cap",
          "visibility": 1,
          "isEntry": true
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::Display"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::display_registry::DisplayCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "returns": [],
          "name": "unset",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "display_registry"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            4
          ],
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ],
              "isPhantom": false
            },
            {
              "constraints": [
                3
              ],
              "isPhantom": false
            }
          ],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "name",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "name": "value",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::dynamic_field::Field",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "dynamic_field",
          "name": "Field",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "returns": [],
          "name": "add",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [],
          "name": "add_child_object",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "borrow",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "borrow_child_object",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "borrow_child_object_mut",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "borrow_mut",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "exists",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "exists_",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "exists_with_type",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "field_info",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "field_info_mut",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "has_child_object",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "has_child_object_with_ty",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "hash_type_and_key",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "remove",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "remove_child_object",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "remove_if_exists",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "remove_opt",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 2
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "replace",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "dynamic_field"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": false
            }
          ],
          "fields": [
            {
              "name": "name",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::dynamic_object_field::Wrapper",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "dynamic_object_field",
          "name": "Wrapper",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "returns": [],
          "name": "add",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "borrow",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "borrow_mut",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "exists",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "exists_",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "exists_with_type",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "id",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "returns": [],
          "name": "internal_add",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "internal_borrow",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "internal_borrow_mut",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "internal_exists_with_type",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "internal_remove",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "remove",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "remove_opt",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3,
                4
              ]
            },
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 2
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "replace",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "dynamic_object_field"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "decompress_pubkey",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "secp256k1_ecrecover",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "secp256k1_verify",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "ecdsa_k1"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "secp256r1_ecrecover",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "secp256r1_verify",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "ecdsa_r1"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "ecvrf_verify",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "ecvrf"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "ed25519_verify",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "ed25519"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [],
          "name": "emit",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [],
          "name": "emit_authenticated",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            },
            {
              "constraints": [
                1,
                2
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "returns": [],
          "name": "emit_authenticated_impl",
          "visibility": 1,
          "isEntry": false
        }
      ],
      "name": "event"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            2
          ],
          "typeParameters": [
            {
              "constraints": [
                3
              ],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "owner",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "name": "limit",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::funds_accumulator::Withdrawal",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "funds_accumulator",
          "name": "Withdrawal",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [],
          "name": "add_impl",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [],
          "name": "add_to_accumulator_address",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::funds_accumulator::Withdrawal"
              }
            }
          ],
          "name": "create_withdrawal",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::funds_accumulator::Withdrawal"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::internal::Permit"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "redeem",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "withdraw_from_accumulator_address",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::funds_accumulator::Withdrawal"
              }
            }
          ],
          "name": "withdraw_from_object",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "withdraw_impl",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::funds_accumulator::Withdrawal"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::funds_accumulator::Withdrawal"
              }
            }
          ],
          "returns": [],
          "name": "withdrawal_join",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::funds_accumulator::Withdrawal"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "name": "withdrawal_limit",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::funds_accumulator::Withdrawal"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "withdrawal_owner",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::funds_accumulator::Withdrawal"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::funds_accumulator::Withdrawal"
              }
            }
          ],
          "name": "withdrawal_split",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "funds_accumulator"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::groth16::Curve",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "groth16",
          "name": "Curve",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "vk_gamma_abc_g1_bytes",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "name": "alpha_g1_beta_g2_bytes",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "name": "gamma_g2_neg_pc_bytes",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "name": "delta_g2_neg_pc_bytes",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::groth16::PreparedVerifyingKey",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "groth16",
          "name": "PreparedVerifyingKey",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "bytes",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::groth16::ProofPoints",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "groth16",
          "name": "ProofPoints",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "bytes",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::groth16::PublicProofInputs",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "groth16",
          "name": "PublicProofInputs",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::groth16::Curve"
              }
            }
          ],
          "name": "bls12381",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::groth16::Curve"
              }
            }
          ],
          "name": "bn254",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::groth16::Curve"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::groth16::PreparedVerifyingKey"
              }
            }
          ],
          "name": "prepare_verifying_key",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::groth16::PreparedVerifyingKey"
              }
            }
          ],
          "name": "prepare_verifying_key_internal",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::groth16::ProofPoints"
              }
            }
          ],
          "name": "proof_points_from_bytes",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::groth16::PublicProofInputs"
              }
            }
          ],
          "name": "public_proof_inputs_from_bytes",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::groth16::PreparedVerifyingKey"
              }
            }
          ],
          "name": "pvk_from_bytes",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::groth16::PreparedVerifyingKey"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 3
                      }
                    ],
                    "type": 9
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "pvk_to_bytes",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::groth16::Curve"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::groth16::PreparedVerifyingKey"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::groth16::PublicProofInputs"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::groth16::ProofPoints"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "verify_groth16_proof",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "verify_groth16_proof_internal",
          "visibility": 1,
          "isEntry": false
        }
      ],
      "name": "groth16"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "bytes",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "group_ops",
          "name": "Element",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "add",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "bytes",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            },
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "convert",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            },
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "div",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "equal",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "from_bytes",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "hash_to",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "internal_add",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "internal_convert",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "internal_div",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "internal_hash_to",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "internal_mul",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "internal_multi_scalar_mul",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "internal_pairing",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "internal_sub",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 3
                      }
                    ],
                    "type": 9
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "internal_sum",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "internal_validate",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            },
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "mul",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            },
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 11,
                        "typeParameter": 0
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 11,
                        "typeParameter": 1
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "multi_scalar_multiplication",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            },
            {
              "constraints": []
            },
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 2
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "pairing",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "set_as_prefix",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "sub",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 11,
                        "typeParameter": 0
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "sum",
          "visibility": 3,
          "isEntry": false
        }
      ],
      "name": "group_ops"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "blake2b256",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "keccak256",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "hash"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "decode",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "name": "decode_byte",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "encode",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "hex"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "hmac_sha3_256",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "hmac"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [],
          "typeParameters": [],
          "fields": [
            {
              "name": "kiosk_id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "name": "item_id",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Borrow",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "kiosk",
          "name": "Borrow",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Item",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "kiosk",
          "name": "Item",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2
          ],
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "kiosk",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "name": "id",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::ItemDelisted",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "kiosk",
          "name": "ItemDelisted",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2
          ],
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "kiosk",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "name": "id",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "name": "price",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::ItemListed",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "kiosk",
          "name": "ItemListed",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2
          ],
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "kiosk",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "name": "id",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "name": "price",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::ItemPurchased",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "kiosk",
          "name": "ItemPurchased",
          "kind": 1
        },
        {
          "abilities": [
            3,
            4
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "profits",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "name": "owner",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "name": "item_count",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            },
            {
              "name": "allow_extensions",
              "position": 4,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "kiosk",
          "name": "Kiosk",
          "kind": 1
        },
        {
          "abilities": [
            3,
            4
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "for",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::KioskOwnerCap",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "kiosk",
          "name": "KioskOwnerCap",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "name": "is_exclusive",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Listing",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "kiosk",
          "name": "Listing",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Lock",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "kiosk",
          "name": "Lock",
          "kind": 1
        },
        {
          "abilities": [
            3,
            4
          ],
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "kiosk_id",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "name": "item_id",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "name": "min_price",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::PurchaseCap",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "kiosk",
          "name": "PurchaseCap",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::KioskOwnerCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "borrow",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::KioskOwnerCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "borrow_mut",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::KioskOwnerCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Borrow"
              }
            }
          ],
          "name": "borrow_val",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::KioskOwnerCap"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            }
          ],
          "name": "close_and_withdraw",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "default",
          "visibility": 1,
          "isEntry": true
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::KioskOwnerCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "returns": [],
          "name": "delist",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::KioskOwnerCap"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "has_access",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "has_item",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "has_item_with_type",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_listed",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_listed_exclusively",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_locked",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "name": "item_count",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::KioskOwnerCap"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "name": "kiosk_owner_cap_for",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::KioskOwnerCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [],
          "name": "list",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::KioskOwnerCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::PurchaseCap"
              }
            }
          ],
          "name": "list_with_purchase_cap",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::KioskOwnerCap"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferPolicy"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [],
          "name": "lock",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [],
          "name": "lock_internal",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::KioskOwnerCap"
              }
            }
          ],
          "name": "new",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "owner",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::KioskOwnerCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [],
          "name": "place",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::KioskOwnerCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [],
          "name": "place_and_list",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [],
          "name": "place_internal",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "profits_amount",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::KioskOwnerCap"
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "name": "profits_mut",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferRequest"
              }
            }
          ],
          "name": "purchase",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::PurchaseCap"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "name": "purchase_cap_item",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::PurchaseCap"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "name": "purchase_cap_kiosk",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::PurchaseCap"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "purchase_cap_min_price",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::PurchaseCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferRequest"
              }
            }
          ],
          "name": "purchase_with_cap",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::PurchaseCap"
              }
            }
          ],
          "returns": [],
          "name": "return_purchase_cap",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Borrow"
              }
            }
          ],
          "returns": [],
          "name": "return_val",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::KioskOwnerCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "returns": [],
          "name": "set_allow_extensions",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::KioskOwnerCap"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "set_owner",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::KioskOwnerCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [],
          "name": "set_owner_custom",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::KioskOwnerCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "take",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "name": "uid",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "name": "uid_mut",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::KioskOwnerCap"
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "name": "uid_mut_as_owner",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "name": "uid_mut_internal",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::KioskOwnerCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            }
          ],
          "name": "withdraw",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "kiosk"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "storage",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bag::Bag"
              }
            },
            {
              "name": "permissions",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            },
            {
              "name": "is_enabled",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk_extension::Extension",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "kiosk_extension",
          "name": "Extension",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "dummy_field",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk_extension::ExtensionKey",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "kiosk_extension",
          "name": "ExtensionKey",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::KioskOwnerCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "add",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "can_lock",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "can_place",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::KioskOwnerCap"
              }
            }
          ],
          "returns": [],
          "name": "disable",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::KioskOwnerCap"
              }
            }
          ],
          "returns": [],
          "name": "enable",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk_extension::Extension"
              }
            }
          ],
          "name": "extension",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk_extension::Extension"
              }
            }
          ],
          "name": "extension_mut",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_enabled",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_installed",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            },
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferPolicy"
              }
            }
          ],
          "returns": [],
          "name": "lock",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            },
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferPolicy"
              }
            }
          ],
          "returns": [],
          "name": "place",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::KioskOwnerCap"
              }
            }
          ],
          "returns": [],
          "name": "remove",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bag::Bag"
              }
            }
          ],
          "name": "storage",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk"
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bag::Bag"
              }
            }
          ],
          "name": "storage_mut",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "kiosk_extension"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            3,
            4
          ],
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ],
              "isPhantom": false
            },
            {
              "constraints": [
                3
              ],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "size",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "head",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "name": "tail",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::linked_table::LinkedTable",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "linked_table",
          "name": "LinkedTable",
          "kind": 1
        },
        {
          "abilities": [
            3
          ],
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ],
              "isPhantom": false
            },
            {
              "constraints": [
                3
              ],
              "isPhantom": false
            }
          ],
          "fields": [
            {
              "name": "prev",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "name": "next",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "name": "value",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::linked_table::Node",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "linked_table",
          "name": "Node",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::linked_table::LinkedTable"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "back",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::linked_table::LinkedTable"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "borrow",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::linked_table::LinkedTable"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "borrow_mut",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::linked_table::LinkedTable"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "contains",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::linked_table::LinkedTable"
              }
            }
          ],
          "returns": [],
          "name": "destroy_empty",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                2,
                3
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::linked_table::LinkedTable"
              }
            }
          ],
          "returns": [],
          "name": "drop",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::linked_table::LinkedTable"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "front",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::linked_table::LinkedTable"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_empty",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::linked_table::LinkedTable"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "length",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::linked_table::LinkedTable"
              }
            }
          ],
          "name": "new",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::linked_table::LinkedTable"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "next",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::linked_table::LinkedTable"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "pop_back",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::linked_table::LinkedTable"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "pop_front",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::linked_table::LinkedTable"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "prev",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::linked_table::LinkedTable"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "returns": [],
          "name": "push_back",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::linked_table::LinkedTable"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "returns": [],
          "name": "push_front",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::linked_table::LinkedTable"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "remove",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "linked_table"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "diff",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "divide_and_round_up",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "max",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "min",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "pow",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "sqrt",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "name": "sqrt_u128",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "math"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            2
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "module_id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "name": "timestamp",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "digest",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "name": "pcrs",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::nitro_attestation::PCREntry"
                  }
                ],
                "type": 9
              }
            },
            {
              "name": "public_key",
              "position": 4,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 3
                      }
                    ],
                    "type": 9
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "name": "user_data",
              "position": 5,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 3
                      }
                    ],
                    "type": 9
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "name": "nonce",
              "position": 6,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 3
                      }
                    ],
                    "type": 9
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::nitro_attestation::NitroAttestationDocument",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "nitro_attestation",
          "name": "NitroAttestationDocument",
          "kind": 1
        },
        {
          "abilities": [
            2
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "index",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "name": "value",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::nitro_attestation::PCREntry",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "nitro_attestation",
          "name": "PCREntry",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::nitro_attestation::NitroAttestationDocument"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "digest",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::nitro_attestation::PCREntry"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "name": "index",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::nitro_attestation::NitroAttestationDocument"
              }
            }
          ],
          "name": "load_nitro_attestation",
          "visibility": 1,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::nitro_attestation::NitroAttestationDocument"
              }
            }
          ],
          "name": "load_nitro_attestation_internal",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::nitro_attestation::NitroAttestationDocument"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "module_id",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::nitro_attestation::NitroAttestationDocument"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 3
                      }
                    ],
                    "type": 9
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "nonce",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::nitro_attestation::NitroAttestationDocument"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::nitro_attestation::PCREntry"
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "pcrs",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::nitro_attestation::NitroAttestationDocument"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 3
                      }
                    ],
                    "type": 9
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "public_key",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::nitro_attestation::NitroAttestationDocument"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "timestamp",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::nitro_attestation::NitroAttestationDocument"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 3
                      }
                    ],
                    "type": 9
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "user_data",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::nitro_attestation::PCREntry"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "value",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "nitro_attestation"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "bytes",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "object",
          "name": "ID",
          "kind": 1
        },
        {
          "abilities": [
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "object",
          "name": "UID",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "name": "address_alias_state",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "name": "authenticator_state",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "name": "borrow_id",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "name": "borrow_uid",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "name": "bridge",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "name": "clock",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "returns": [],
          "name": "delete",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [],
          "name": "delete_impl",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "name": "id",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "id_address",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "id_bytes",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "name": "id_from_address",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "name": "id_from_bytes",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "id_to_address",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "id_to_bytes",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "name": "new",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "name": "new_uid_from_hash",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "name": "randomness_state",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [],
          "name": "record_new_uid",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "sui_accumulator_root_address",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "name": "sui_accumulator_root_object_id",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "sui_coin_registry_address",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "name": "sui_coin_registry_object_id",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "name": "sui_deny_list_object_id",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "sui_display_registry_address",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "name": "sui_display_registry_object_id",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "name": "sui_system_state",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "name": "uid_as_inner",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "uid_to_address",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "uid_to_bytes",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "name": "uid_to_inner",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "object"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            3,
            4
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "size",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object_bag::ObjectBag",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "object_bag",
          "name": "ObjectBag",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object_bag::ObjectBag"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "returns": [],
          "name": "add",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object_bag::ObjectBag"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "borrow",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object_bag::ObjectBag"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "borrow_mut",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object_bag::ObjectBag"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "contains",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object_bag::ObjectBag"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "contains_with_type",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object_bag::ObjectBag"
              }
            }
          ],
          "returns": [],
          "name": "destroy_empty",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object_bag::ObjectBag"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_empty",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object_bag::ObjectBag"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "length",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object_bag::ObjectBag"
              }
            }
          ],
          "name": "new",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object_bag::ObjectBag"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "remove",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object_bag::ObjectBag"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "value_id",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "object_bag"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            3,
            4
          ],
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ],
              "isPhantom": true
            },
            {
              "constraints": [
                3,
                4
              ],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "size",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object_table::ObjectTable",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "object_table",
          "name": "ObjectTable",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object_table::ObjectTable"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "returns": [],
          "name": "add",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object_table::ObjectTable"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "borrow",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object_table::ObjectTable"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "borrow_mut",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object_table::ObjectTable"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "contains",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object_table::ObjectTable"
              }
            }
          ],
          "returns": [],
          "name": "destroy_empty",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object_table::ObjectTable"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_empty",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object_table::ObjectTable"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "length",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object_table::ObjectTable"
              }
            }
          ],
          "name": "new",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object_table::ObjectTable"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "remove",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object_table::ObjectTable"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "value_id",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "object_table"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            3,
            4
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "package",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            },
            {
              "name": "module_name",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::Publisher",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "package",
          "name": "Publisher",
          "kind": 1
        },
        {
          "abilities": [
            3,
            4
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "package",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "name": "version",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "policy",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::UpgradeCap",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "package",
          "name": "UpgradeCap",
          "kind": 1
        },
        {
          "abilities": [],
          "typeParameters": [],
          "fields": [
            {
              "name": "cap",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "name": "package",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::UpgradeReceipt",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "package",
          "name": "UpgradeReceipt",
          "kind": 1
        },
        {
          "abilities": [],
          "typeParameters": [],
          "fields": [
            {
              "name": "cap",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "name": "package",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "name": "policy",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "name": "digest",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::UpgradeTicket",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "package",
          "name": "UpgradeTicket",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "name": "additive_policy",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::UpgradeCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::UpgradeTicket"
              }
            }
          ],
          "name": "authorize_upgrade",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::Publisher"
              }
            }
          ],
          "returns": [],
          "name": "burn_publisher",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::Publisher"
              }
            }
          ],
          "name": "claim",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "claim_and_keep",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::UpgradeCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::UpgradeReceipt"
              }
            }
          ],
          "returns": [],
          "name": "commit_upgrade",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "name": "compatible_policy",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "name": "dep_only_policy",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::Publisher"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "from_module",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::Publisher"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "from_package",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::UpgradeCap"
              }
            }
          ],
          "returns": [],
          "name": "make_immutable",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::UpgradeCap"
              }
            }
          ],
          "returns": [],
          "name": "only_additive_upgrades",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::UpgradeCap"
              }
            }
          ],
          "returns": [],
          "name": "only_dep_upgrades",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::Publisher"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "name": "published_module",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::Publisher"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "name": "published_package",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::UpgradeReceipt"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "name": "receipt_cap",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::UpgradeReceipt"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "name": "receipt_package",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::UpgradeCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [],
          "name": "restrict",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::UpgradeTicket"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "ticket_digest",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::UpgradeTicket"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "name": "ticket_package",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::UpgradeTicket"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "name": "ticket_policy",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::UpgradeCap"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "name": "upgrade_package",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::UpgradeCap"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "name": "upgrade_policy",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::UpgradeCap"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "version",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "package"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            1,
            2
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "default",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::party::Permissions"
              }
            },
            {
              "name": "members",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::party::Permissions"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::party::Party",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "party",
          "name": "Party",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "pos0",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::party::Permissions",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "party",
          "name": "Permissions",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::party::Party"
              }
            }
          ],
          "name": "empty",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::party::Party"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "into_native",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::party::Party"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_single_owner",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::party::Party"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::party::Permissions"
              }
            }
          ],
          "returns": [],
          "name": "set_permissions",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::party::Party"
              }
            }
          ],
          "name": "single_owner",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "party"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "divide_and_keep",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            }
          ],
          "returns": [],
          "name": "join",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 11,
                        "typeParameter": 0
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "join_vec",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 11,
                        "typeParameter": 0
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [],
          "name": "join_vec_and_transfer",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "keep",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "split",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "split_and_transfer",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "split_vec",
          "visibility": 2,
          "isEntry": true
        }
      ],
      "name": "pay"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 8
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "name": "poseidon_bn254",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 3
                      }
                    ],
                    "type": 9
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "poseidon_bn254_internal",
          "visibility": 1,
          "isEntry": false
        }
      ],
      "name": "poseidon"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            2,
            3
          ],
          "typeParameters": [
            {
              "constraints": [
                2
              ],
              "isPhantom": false
            }
          ],
          "fields": [
            {
              "name": "priority",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "value",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::priority_queue::Entry",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "priority_queue",
          "name": "Entry",
          "kind": 1
        },
        {
          "abilities": [
            2,
            3
          ],
          "typeParameters": [
            {
              "constraints": [
                2
              ],
              "isPhantom": false
            }
          ],
          "fields": [
            {
              "name": "entries",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 11,
                        "typeParameter": 0
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::priority_queue::Entry"
                  }
                ],
                "type": 9
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::priority_queue::PriorityQueue",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "priority_queue",
          "name": "PriorityQueue",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 11,
                        "typeParameter": 0
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::priority_queue::Entry"
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "create_entries",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::priority_queue::PriorityQueue"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [],
          "name": "insert",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 11,
                        "typeParameter": 0
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::priority_queue::Entry"
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [],
          "name": "max_heapify_recursive",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 11,
                        "typeParameter": 0
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::priority_queue::Entry"
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::priority_queue::PriorityQueue"
              }
            }
          ],
          "name": "new",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::priority_queue::Entry"
              }
            }
          ],
          "name": "new_entry",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::priority_queue::PriorityQueue"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "pop_max",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::priority_queue::PriorityQueue"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "priorities",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 11,
                        "typeParameter": 0
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::priority_queue::Entry"
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [],
          "name": "restore_heap_recursive",
          "visibility": 1,
          "isEntry": false
        }
      ],
      "name": "priority_queue"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_feature_enabled",
          "visibility": 3,
          "isEntry": false
        }
      ],
      "name": "protocol_config"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [],
      "functions": [],
      "name": "prover"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            4
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "inner",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::versioned::Versioned"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::random::Random",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "random",
          "name": "Random",
          "kind": 1
        },
        {
          "abilities": [
            2
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "seed",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "name": "counter",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            },
            {
              "name": "buffer",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::random::RandomGenerator",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "random",
          "name": "RandomGenerator",
          "kind": 1
        },
        {
          "abilities": [
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "version",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "epoch",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "randomness_round",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "random_bytes",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::random::RandomInner",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "random",
          "name": "RandomInner",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "create",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::random::RandomGenerator"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "derive_next_block",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::random::RandomGenerator"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "generate_bool",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::random::RandomGenerator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "generate_bytes",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::random::RandomGenerator"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "name": "generate_u128",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::random::RandomGenerator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "name": "generate_u128_in_range",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::random::RandomGenerator"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "name": "generate_u16",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::random::RandomGenerator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "name": "generate_u16_in_range",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::random::RandomGenerator"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "name": "generate_u256",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::random::RandomGenerator"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "name": "generate_u32",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::random::RandomGenerator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "name": "generate_u32_in_range",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::random::RandomGenerator"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "generate_u64",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::random::RandomGenerator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "generate_u64_in_range",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::random::RandomGenerator"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "name": "generate_u8",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::random::RandomGenerator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "name": "generate_u8_in_range",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::random::Random"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::random::RandomInner"
              }
            }
          ],
          "name": "load_inner",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::random::Random"
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::random::RandomInner"
              }
            }
          ],
          "name": "load_inner_mut",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::random::Random"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::random::RandomGenerator"
              }
            }
          ],
          "name": "new_generator",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::random::RandomGenerator"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "shuffle",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::random::Random"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_randomness_state",
          "visibility": 1,
          "isEntry": false
        }
      ],
      "name": "random"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 10,
                        "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::G"
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "verify_bulletproofs_ristretto255",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 10,
                        "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::G"
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "verify_bulletproofs_with_dst_ristretto255",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 3
                      }
                    ],
                    "type": 9
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "verify_bulletproofs_with_dst_ristretto255_internal",
          "visibility": 1,
          "isEntry": false
        }
      ],
      "name": "rangeproofs"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "dummy_field",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::G",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "ristretto255",
          "name": "G",
          "kind": 1
        },
        {
          "abilities": [
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "dummy_field",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::Scalar",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "ristretto255",
          "name": "Scalar",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::G"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::G"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::G"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "g_add",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::G"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::G"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "g_div",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::G"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "g_from_bytes",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::G"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "g_generator",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::G"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "g_identity",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::G"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::G"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "g_mul",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::G"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::G"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "g_neg",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::G"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::G"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::G"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "g_sub",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "scalar_add",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "scalar_div",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "scalar_from_bytes",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "scalar_from_u64",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "scalar_inv",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "scalar_mul",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "scalar_neg",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "scalar_one",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "scalar_sub",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::ristretto255::Scalar"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::group_ops::Element"
              }
            }
          ],
          "name": "scalar_zero",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "ristretto255"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            2
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "dummy_field",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "sui",
          "name": "SUI",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "name": "new",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [],
          "name": "transfer",
          "visibility": 2,
          "isEntry": true
        }
      ],
      "name": "sui"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            3,
            4
          ],
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ],
              "isPhantom": true
            },
            {
              "constraints": [
                3
              ],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "size",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table::Table",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "table",
          "name": "Table",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table::Table"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "returns": [],
          "name": "add",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table::Table"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "borrow",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table::Table"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "borrow_mut",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table::Table"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "contains",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table::Table"
              }
            }
          ],
          "returns": [],
          "name": "destroy_empty",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                2,
                3
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table::Table"
              }
            }
          ],
          "returns": [],
          "name": "drop",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table::Table"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_empty",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table::Table"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "length",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table::Table"
              }
            }
          ],
          "name": "new",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2,
                3
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table::Table"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "remove",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "table"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            3
          ],
          "typeParameters": [
            {
              "constraints": [
                3
              ],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "contents",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table::Table"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table_vec::TableVec",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "table_vec",
          "name": "TableVec",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table_vec::TableVec"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "borrow",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table_vec::TableVec"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "borrow_mut",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table_vec::TableVec"
              }
            }
          ],
          "returns": [],
          "name": "destroy_empty",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                2,
                3
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table_vec::TableVec"
              }
            }
          ],
          "returns": [],
          "name": "drop",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table_vec::TableVec"
              }
            }
          ],
          "name": "empty",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table_vec::TableVec"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_empty",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table_vec::TableVec"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "length",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table_vec::TableVec"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "pop_back",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table_vec::TableVec"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [],
          "name": "push_back",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table_vec::TableVec"
              }
            }
          ],
          "name": "singleton",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table_vec::TableVec"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [],
          "name": "swap",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table_vec::TableVec"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "swap_remove",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "table_vec"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "name",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "name": "amount",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "sender",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "name": "recipient",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "name": "spent_balance",
              "position": 4,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 11,
                        "typeParameter": 0
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "name": "approvals",
              "position": 5,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::type_name::TypeName"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::ActionRequest",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "token",
          "name": "ActionRequest",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "is_protected",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::RuleKey",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "token",
          "name": "RuleKey",
          "kind": 1
        },
        {
          "abilities": [
            4
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "balance",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::Token",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "token",
          "name": "Token",
          "kind": 1
        },
        {
          "abilities": [
            4
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "spent_balance",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "name": "rules",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
                  },
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 10,
                        "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::type_name::TypeName"
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::TokenPolicy",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "token",
          "name": "TokenPolicy",
          "kind": 1
        },
        {
          "abilities": [
            3,
            4
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "for",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::TokenPolicyCap",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "token",
          "name": "TokenPolicyCap",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "name": "is_mutable",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::TokenPolicyCreated",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "token",
          "name": "TokenPolicyCreated",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::ActionRequest"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "action",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            },
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::ActionRequest"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "add_approval",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            },
            {
              "constraints": [
                2
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::TokenPolicy"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::TokenPolicyCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 2
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "add_rule_config",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            },
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::TokenPolicy"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::TokenPolicyCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "add_rule_for_action",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::TokenPolicy"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::TokenPolicyCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "allow",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::ActionRequest"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "amount",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::ActionRequest"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::type_name::TypeName"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet"
              }
            }
          ],
          "name": "approvals",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::Token"
              }
            }
          ],
          "returns": [],
          "name": "burn",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::TokenPolicy"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::ActionRequest"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "confirm_request",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::TokenPolicy"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::ActionRequest"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "confirm_request_mut",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::TokenPolicyCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::ActionRequest"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "confirm_with_policy_cap",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::ActionRequest"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "confirm_with_treasury_cap",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::Token"
              }
            }
          ],
          "returns": [],
          "name": "destroy_zero",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::TokenPolicy"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::TokenPolicyCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "disallow",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::TokenPolicy"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "flush",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::Token"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::ActionRequest"
              }
            }
          ],
          "name": "from_coin",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "from_coin_action",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            },
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::TokenPolicy"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "has_rule_config",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            },
            {
              "constraints": []
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::TokenPolicy"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "has_rule_config_with_type",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::TokenPolicy"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_allowed",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::Token"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::Token"
              }
            }
          ],
          "returns": [],
          "name": "join",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::Token"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "keep",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::RuleKey"
              }
            }
          ],
          "name": "key",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::Token"
              }
            }
          ],
          "name": "mint",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::TokenPolicy"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::TokenPolicyCap"
              }
            }
          ],
          "name": "new_policy",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 11,
                        "typeParameter": 0
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::ActionRequest"
              }
            }
          ],
          "name": "new_request",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::ActionRequest"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "recipient",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            },
            {
              "constraints": []
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::TokenPolicy"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::TokenPolicyCap"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 2
              }
            }
          ],
          "name": "remove_rule_config",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            },
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::TokenPolicy"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::TokenPolicyCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "remove_rule_for_action",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            },
            {
              "constraints": [
                2
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::TokenPolicy"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 2
              }
            }
          ],
          "name": "rule_config",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            },
            {
              "constraints": [
                2
              ]
            },
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::TokenPolicy"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::TokenPolicyCap"
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 2
              }
            }
          ],
          "name": "rule_config_mut",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::TokenPolicy"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::type_name::TypeName"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet"
              }
            }
          ],
          "name": "rules",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::ActionRequest"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "sender",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::TokenPolicy"
              }
            }
          ],
          "returns": [],
          "name": "share_policy",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::Token"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::ActionRequest"
              }
            }
          ],
          "name": "spend",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "spend_action",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::ActionRequest"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "spent",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::TokenPolicy"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "spent_balance",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::Token"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::Token"
              }
            }
          ],
          "name": "split",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::Token"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::ActionRequest"
              }
            }
          ],
          "name": "to_coin",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "to_coin_action",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::Token"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::ActionRequest"
              }
            }
          ],
          "name": "transfer",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "transfer_action",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::Token"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "value",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::token::Token"
              }
            }
          ],
          "name": "zero",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "token"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            2
          ],
          "typeParameters": [
            {
              "constraints": [
                4
              ],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "name": "version",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer::Receiving",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "transfer",
          "name": "Receiving",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [],
          "name": "freeze_object",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [],
          "name": "freeze_object_impl",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::party::Party"
              }
            }
          ],
          "returns": [],
          "name": "party_transfer",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "party_transfer_impl",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [],
          "name": "public_freeze_object",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::party::Party"
              }
            }
          ],
          "returns": [],
          "name": "public_party_transfer",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer::Receiving"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "public_receive",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [],
          "name": "public_share_object",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3,
                4
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [],
          "name": "public_transfer",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer::Receiving"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "receive",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "receive_impl",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer::Receiving"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "name": "receiving_object_id",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [],
          "name": "share_object",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [],
          "name": "share_object_impl",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [],
          "name": "transfer",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                4
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [],
          "name": "transfer_impl",
          "visibility": 3,
          "isEntry": false
        }
      ],
      "name": "transfer"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [
            {
              "constraints": [
                2
              ],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "dummy_field",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::RuleKey",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "transfer_policy",
          "name": "RuleKey",
          "kind": 1
        },
        {
          "abilities": [
            3,
            4
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "balance",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "name": "rules",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::type_name::TypeName"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferPolicy",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "transfer_policy",
          "name": "TransferPolicy",
          "kind": 1
        },
        {
          "abilities": [
            3,
            4
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "policy_id",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferPolicyCap",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "transfer_policy",
          "name": "TransferPolicyCap",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferPolicyCreated",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "transfer_policy",
          "name": "TransferPolicyCreated",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferPolicyDestroyed",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "transfer_policy",
          "name": "TransferPolicyDestroyed",
          "kind": 1
        },
        {
          "abilities": [],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "item",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "name": "paid",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "from",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "name": "receipts",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::type_name::TypeName"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferRequest",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "transfer_policy",
          "name": "TransferRequest",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": []
            },
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferRequest"
              }
            }
          ],
          "returns": [],
          "name": "add_receipt",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            },
            {
              "constraints": [
                2
              ]
            },
            {
              "constraints": [
                2,
                3
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferPolicy"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferPolicyCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 2
              }
            }
          ],
          "returns": [],
          "name": "add_rule",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            },
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferPolicy"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            }
          ],
          "returns": [],
          "name": "add_to_balance",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferPolicy"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferRequest"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "name": "confirm_request",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::Publisher"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "default",
          "visibility": 1,
          "isEntry": true
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferPolicy"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferPolicyCap"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            }
          ],
          "name": "destroy_and_withdraw",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferRequest"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "name": "from",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            },
            {
              "constraints": [
                2
              ]
            },
            {
              "constraints": [
                2,
                3
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferPolicy"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 2
              }
            }
          ],
          "name": "get_rule",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            },
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferPolicy"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "has_rule",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferRequest"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "name": "item",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::package::Publisher"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferPolicy"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferPolicyCap"
              }
            }
          ],
          "name": "new",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferRequest"
              }
            }
          ],
          "name": "new_request",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferRequest"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "paid",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            },
            {
              "constraints": [
                2
              ]
            },
            {
              "constraints": [
                2,
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferPolicy"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferPolicyCap"
              }
            }
          ],
          "returns": [],
          "name": "remove_rule",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferPolicy"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::type_name::TypeName"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet"
              }
            }
          ],
          "name": "rules",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferPolicy"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "name": "uid",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferPolicy"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferPolicyCap"
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            }
          ],
          "name": "uid_mut_as_owner",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferPolicy"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferPolicyCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            }
          ],
          "name": "withdraw",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "transfer_policy"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            2
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "sender",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "name": "tx_hash",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "name": "epoch",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "epoch_timestamp_ms",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "ids_created",
              "position": 4,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "tx_context",
          "name": "TxContext",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "derive_id",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "digest",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "epoch",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "epoch_timestamp_ms",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "fresh_id",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "fresh_object_address",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "gas_price",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "native_epoch",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "native_epoch_timestamp_ms",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "native_gas_budget",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "native_gas_price",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "native_ids_created",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "native_rgp",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "native_sender",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "native_sponsor",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "option_sponsor",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "reference_gas_price",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "sender",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "sponsor",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "tx_context"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_one_time_witness",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "types"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "url",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::url::Url",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "url",
          "name": "Url",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::url::Url"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "name": "inner_url",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::url::Url"
              }
            }
          ],
          "name": "new_unsafe",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::url::Url"
              }
            }
          ],
          "name": "new_unsafe_from_bytes",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::url::Url"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "returns": [],
          "name": "update",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "url"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "hash_to_input",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "hash_to_input_internal",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "vdf_verify",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "vdf_verify_internal",
          "visibility": 1,
          "isEntry": false
        }
      ],
      "name": "vdf"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [
            {
              "constraints": [
                1
              ],
              "isPhantom": false
            },
            {
              "constraints": [],
              "isPhantom": false
            }
          ],
          "fields": [
            {
              "name": "key",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "name": "value",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::Entry",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "vec_map",
          "name": "Entry",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [
            {
              "constraints": [
                1
              ],
              "isPhantom": false
            },
            {
              "constraints": [],
              "isPhantom": false
            }
          ],
          "fields": [
            {
              "name": "contents",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 11,
                        "typeParameter": 0
                      },
                      {
                        "typeParameterInstantiation": [],
                        "type": 11,
                        "typeParameter": 1
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::Entry"
                  }
                ],
                "type": 9
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "vec_map",
          "name": "VecMap",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": [
                1
              ]
            },
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "contains",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1
              ]
            },
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            }
          ],
          "returns": [],
          "name": "destroy_empty",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1
              ]
            },
            {
              "constraints": []
            }
          ],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            }
          ],
          "name": "empty",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1
              ]
            },
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            }
          ],
          "name": "from_keys_values",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1
              ]
            },
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "get",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1
              ]
            },
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "get_entry_by_idx",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1
              ]
            },
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "get_entry_by_idx_mut",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1
              ]
            },
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "get_idx",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1
              ]
            },
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "get_idx_opt",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1
              ]
            },
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "get_mut",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1
              ]
            },
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "returns": [],
          "name": "insert",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1
              ]
            },
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "into_keys_values",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1
              ]
            },
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_empty",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1
              ]
            },
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "keys",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1
              ]
            },
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "length",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1
              ]
            },
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "pop",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1
              ]
            },
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "remove",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1
              ]
            },
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 1
              }
            }
          ],
          "name": "remove_entry_by_idx",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1
              ]
            },
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "size",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1
              ]
            },
            {
              "constraints": [
                1
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "try_get",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "vec_map"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [
            {
              "constraints": [
                1,
                2
              ],
              "isPhantom": false
            }
          ],
          "fields": [
            {
              "name": "contents",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "vec_set",
          "name": "VecSet",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "contains",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2
              ]
            }
          ],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet"
              }
            }
          ],
          "name": "empty",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet"
              }
            }
          ],
          "name": "from_keys",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [],
          "name": "insert",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "into_keys",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_empty",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "keys",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "length",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [],
          "name": "remove",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet"
              }
            }
          ],
          "name": "singleton",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "size",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "vec_set"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [],
          "typeParameters": [],
          "fields": [
            {
              "name": "versioned_id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "name": "old_version",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::versioned::VersionChangeCap",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "versioned",
          "name": "VersionChangeCap",
          "kind": 1
        },
        {
          "abilities": [
            3,
            4
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "version",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::versioned::Versioned",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "versioned",
          "name": "Versioned",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::versioned::Versioned"
              }
            }
          ],
          "name": "create",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::versioned::Versioned"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "destroy",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::versioned::Versioned"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "load_value",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::versioned::Versioned"
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "load_value_mut",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::versioned::Versioned"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::versioned::VersionChangeCap"
              }
            }
          ],
          "name": "remove_value_for_upgrade",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                3
              ]
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::versioned::Versioned"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::versioned::VersionChangeCap"
              }
            }
          ],
          "returns": [],
          "name": "upgrade",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::versioned::Versioned"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "version",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "versioned"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            4
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "owner",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "name": "key_claim_name",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "name": "key_claim_value",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "name": "issuer",
              "position": 4,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "name": "audience",
              "position": 5,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::zklogin_verified_id::VerifiedID",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "zklogin_verified_id",
          "name": "VerifiedID",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::zklogin_verified_id::VerifiedID"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "audience",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "check_zklogin_id",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "check_zklogin_id_internal",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::zklogin_verified_id::VerifiedID"
              }
            }
          ],
          "returns": [],
          "name": "delete",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::zklogin_verified_id::VerifiedID"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "issuer",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::zklogin_verified_id::VerifiedID"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "key_claim_name",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::zklogin_verified_id::VerifiedID"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "key_claim_value",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::zklogin_verified_id::VerifiedID"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "owner",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "verify_zklogin_id",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "zklogin_verified_id"
    }
  },
  {
    "address": "0x2",
    "module": {
      "datatypes": [
        {
          "abilities": [
            4
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "owner",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "name": "issuer",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::zklogin_verified_issuer::VerifiedIssuer",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000002",
          "module": "zklogin_verified_issuer",
          "name": "VerifiedIssuer",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "check_zklogin_issuer",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "check_zklogin_issuer_internal",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::zklogin_verified_issuer::VerifiedIssuer"
              }
            }
          ],
          "returns": [],
          "name": "delete",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::zklogin_verified_issuer::VerifiedIssuer"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "issuer",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::zklogin_verified_issuer::VerifiedIssuer"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "owner",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "verify_zklogin_issuer",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "zklogin_verified_issuer"
    }
  }
]