diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3e38d2d98e..eeeaeb07bd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -40,7 +40,7 @@ jobs: cache: true - name: Install Flow CLI - run: sh -ci "$(curl -fsSL https://raw.githubusercontent.com/onflow/flow-cli/master/install.sh)" -- v1.5.0 + run: sh -ci "$(curl -fsSL https://raw.githubusercontent.com/onflow/flow-cli/master/install.sh)" - name: Build run: make -j8 build @@ -49,7 +49,7 @@ jobs: run: make ci - name: Cadence Testing Framework - run: cd runtime/stdlib/contracts && flow test --cover --covercode="contracts" crypto_test.cdc + run: cd runtime/stdlib/contracts && flow-c1 test --cover --covercode="contracts" crypto_test.cdc - name: Upload coverage report uses: codecov/codecov-action@v2 diff --git a/encoding/ccf/ccf_test.go b/encoding/ccf/ccf_test.go index d3e4d2062d..258cc85c81 100644 --- a/encoding/ccf/ccf_test.go +++ b/encoding/ccf/ccf_test.go @@ -97,10 +97,10 @@ func TestEncodeOptional(t *testing.T) { // as tests may run in parallel newStructType := func() *cadence.StructType { - return &cadence.StructType{ - Location: utils.TestLocation, - QualifiedIdentifier: "Foo", - Fields: []cadence.Field{ + return cadence.NewStructType( + utils.TestLocation, + "Foo", + []cadence.Field{ { Identifier: "a", Type: cadence.NewOptionalType(cadence.IntType), @@ -114,14 +114,15 @@ func TestEncodeOptional(t *testing.T) { Type: cadence.NewOptionalType(cadence.NewOptionalType(cadence.NewOptionalType(cadence.IntType))), }, }, - } + nil, + ) } newStructTypeWithOptionalAbstractField := func() *cadence.StructType { - return &cadence.StructType{ - Location: utils.TestLocation, - QualifiedIdentifier: "Foo", - Fields: []cadence.Field{ + return cadence.NewStructType( + utils.TestLocation, + "Foo", + []cadence.Field{ { Identifier: "a", Type: cadence.NewOptionalType(cadence.AnyStructType), @@ -135,7 +136,8 @@ func TestEncodeOptional(t *testing.T) { Type: cadence.NewOptionalType(cadence.NewOptionalType(cadence.NewOptionalType(cadence.AnyStructType))), }, }, - } + nil, + ) } testAllEncodeAndDecode(t, []encodeTest{ @@ -802,16 +804,17 @@ func TestEncodeOptional(t *testing.T) { name: "struct with non-nil optional abstract fields", val: func() cadence.Value { structTypeWithOptionalAbstractField := newStructTypeWithOptionalAbstractField() - simpleStructType := &cadence.StructType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooStruct", - Fields: []cadence.Field{ + simpleStructType := cadence.NewStructType( + utils.TestLocation, + "FooStruct", + []cadence.Field{ { Identifier: "bar", Type: cadence.IntType, }, }, - } + nil, + ) return cadence.NewStruct([]cadence.Value{ cadence.NewOptional(cadence.NewInt(1)), cadence.NewOptional(cadence.NewOptional(cadence.NewInt(2))), @@ -3570,10 +3573,12 @@ func TestEncodeArray(t *testing.T) { resourceInterfaceTypeArray := encodeTest{ name: "Resource Interface Array", val: func() cadence.Value { - resourceInterfaceType := &cadence.ResourceInterfaceType{ - Location: utils.TestLocation, - QualifiedIdentifier: "Bar", - } + resourceInterfaceType := cadence.NewResourceInterfaceType( + utils.TestLocation, + "Bar", + nil, + nil, + ) fooResourceType := newFooResourceType() foooResourceTypeWithAbstractField := newFoooResourceTypeWithAbstractField() return cadence.NewArray([]cadence.Value{ @@ -3922,20 +3927,23 @@ func TestEncodeArray(t *testing.T) { structInterfaceTypeArray := encodeTest{ name: "Struct Interface Array", val: func() cadence.Value { - structInterfaceType := &cadence.StructInterfaceType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooStructInterface", - } - structType := &cadence.StructType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooStruct", - Fields: []cadence.Field{ + structInterfaceType := cadence.NewStructInterfaceType( + utils.TestLocation, + "FooStructInterface", + nil, + nil, + ) + structType := cadence.NewStructType( + utils.TestLocation, + "FooStruct", + []cadence.Field{ { Identifier: "a", Type: cadence.IntType, }, }, - } + nil, + ) return cadence.NewArray([]cadence.Value{ cadence.NewStruct([]cadence.Value{ cadence.NewInt(1), @@ -4064,20 +4072,23 @@ func TestEncodeArray(t *testing.T) { contractInterfaceTypeArray := encodeTest{ name: "Contract Interface Array", val: func() cadence.Value { - contractInterfaceType := &cadence.ContractInterfaceType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooContractInterface", - } - contractType := &cadence.ContractType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooContract", - Fields: []cadence.Field{ + contractInterfaceType := cadence.NewContractInterfaceType( + utils.TestLocation, + "FooContractInterface", + nil, + nil, + ) + contractType := cadence.NewContractType( + utils.TestLocation, + "FooContract", + []cadence.Field{ { Identifier: "a", Type: cadence.IntType, }, }, - } + nil, + ) return cadence.NewArray([]cadence.Value{ cadence.NewContract([]cadence.Value{ cadence.NewInt(1), @@ -5400,11 +5411,12 @@ func TestEncodeStruct(t *testing.T) { noFieldStruct := encodeTest{ name: "no field", val: func() cadence.Value { - noFieldStructType := &cadence.StructType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooStruct", - Fields: []cadence.Field{}, - } + noFieldStructType := cadence.NewStructType( + utils.TestLocation, + "FooStruct", + []cadence.Field{}, + nil, + ) return cadence.NewStruct( []cadence.Value{}, ).WithType(noFieldStructType) @@ -5458,10 +5470,10 @@ func TestEncodeStruct(t *testing.T) { simpleStruct := encodeTest{ name: "Simple", val: func() cadence.Value { - simpleStructType := &cadence.StructType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooStruct", - Fields: []cadence.Field{ + simpleStructType := cadence.NewStructType( + utils.TestLocation, + "FooStruct", + []cadence.Field{ { Identifier: "a", Type: cadence.IntType, @@ -5471,7 +5483,8 @@ func TestEncodeStruct(t *testing.T) { Type: cadence.StringType, }, }, - } + nil, + ) return cadence.NewStruct( []cadence.Value{ cadence.NewInt(1), @@ -5808,10 +5821,10 @@ func TestEncodeEvent(t *testing.T) { simpleEvent := encodeTest{ name: "Simple", val: func() cadence.Value { - simpleEventType := &cadence.EventType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooEvent", - Fields: []cadence.Field{ + simpleEventType := cadence.NewEventType( + utils.TestLocation, + "FooEvent", + []cadence.Field{ { Identifier: "a", Type: cadence.IntType, @@ -5821,7 +5834,8 @@ func TestEncodeEvent(t *testing.T) { Type: cadence.StringType, }, }, - } + nil, + ) return cadence.NewEvent( []cadence.Value{ cadence.NewInt(1), @@ -5911,10 +5925,10 @@ func TestEncodeEvent(t *testing.T) { abstractEvent := encodeTest{ name: "abstract event", val: func() cadence.Value { - abstractEventType := &cadence.EventType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooEvent", - Fields: []cadence.Field{ + abstractEventType := cadence.NewEventType( + utils.TestLocation, + "FooEvent", + []cadence.Field{ { Identifier: "a", Type: cadence.IntType, @@ -5924,17 +5938,19 @@ func TestEncodeEvent(t *testing.T) { Type: cadence.AnyStructType, }, }, - } - simpleStructType := &cadence.StructType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooStruct", - Fields: []cadence.Field{ + nil, + ) + simpleStructType := cadence.NewStructType( + utils.TestLocation, + "FooStruct", + []cadence.Field{ { Identifier: "c", Type: cadence.StringType, }, }, - } + nil, + ) return cadence.NewEvent( []cadence.Value{ cadence.NewInt(1), @@ -6071,10 +6087,10 @@ func TestEncodeEvent(t *testing.T) { name: "Resources", val: func() cadence.Value { fooResourceType := newFooResourceType() - resourceEventType := &cadence.EventType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooEvent", - Fields: []cadence.Field{ + resourceEventType := cadence.NewEventType( + utils.TestLocation, + "FooEvent", + []cadence.Field{ { Identifier: "a", Type: cadence.StringType, @@ -6084,7 +6100,8 @@ func TestEncodeEvent(t *testing.T) { Type: fooResourceType, }, }, - } + nil, + ) return cadence.NewEvent( []cadence.Value{ cadence.String("foo"), @@ -6239,10 +6256,10 @@ func TestEncodeContract(t *testing.T) { simpleContract := encodeTest{ name: "Simple", val: func() cadence.Value { - simpleContractType := &cadence.ContractType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooContract", - Fields: []cadence.Field{ + simpleContractType := cadence.NewContractType( + utils.TestLocation, + "FooContract", + []cadence.Field{ { Identifier: "a", Type: cadence.IntType, @@ -6252,7 +6269,8 @@ func TestEncodeContract(t *testing.T) { Type: cadence.StringType, }, }, - } + nil, + ) return cadence.NewContract( []cadence.Value{ cadence.NewInt(1), @@ -6342,20 +6360,21 @@ func TestEncodeContract(t *testing.T) { abstractContract := encodeTest{ name: "abstract contract", val: func() cadence.Value { - simpleStructType := &cadence.StructType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooStruct", - Fields: []cadence.Field{ + simpleStructType := cadence.NewStructType( + utils.TestLocation, + "FooStruct", + []cadence.Field{ { Identifier: "c", Type: cadence.StringType, }, }, - } - abstractContractType := &cadence.ContractType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooContract", - Fields: []cadence.Field{ + nil, + ) + abstractContractType := cadence.NewContractType( + utils.TestLocation, + "FooContract", + []cadence.Field{ { Identifier: "a", Type: cadence.IntType, @@ -6365,7 +6384,8 @@ func TestEncodeContract(t *testing.T) { Type: cadence.AnyStructType, }, }, - } + nil, + ) return cadence.NewContract( []cadence.Value{ cadence.NewInt(1), @@ -6502,10 +6522,10 @@ func TestEncodeContract(t *testing.T) { name: "Resources", val: func() cadence.Value { fooResourceType := newFooResourceType() - resourceContractType := &cadence.ContractType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooContract", - Fields: []cadence.Field{ + resourceContractType := cadence.NewContractType( + utils.TestLocation, + "FooContract", + []cadence.Field{ { Identifier: "a", Type: cadence.StringType, @@ -6515,7 +6535,8 @@ func TestEncodeContract(t *testing.T) { Type: fooResourceType, }, }, - } + nil, + ) return cadence.NewContract( []cadence.Value{ cadence.String("foo"), @@ -6653,16 +6674,18 @@ func TestEncodeEnum(t *testing.T) { simpleEnum := encodeTest{ name: "Simple", val: func() cadence.Value { - simpleEnumType := &cadence.EnumType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooEnum", - Fields: []cadence.Field{ + simpleEnumType := cadence.NewEnumType( + utils.TestLocation, + "FooEnum", + nil, + []cadence.Field{ { Identifier: "raw", Type: cadence.UInt8Type, }, }, - } + nil, + ) return cadence.NewEnum( []cadence.Value{ cadence.NewUInt8(1), @@ -6738,11 +6761,13 @@ func TestEncodeAttachment(t *testing.T) { noFieldAttachment := encodeTest{ name: "no field", val: func() cadence.Value { - attachmentType := &cadence.AttachmentType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooAttachment", - Fields: []cadence.Field{}, - } + attachmentType := cadence.NewAttachmentType( + utils.TestLocation, + "FooAttachment", + nil, + []cadence.Field{}, + nil, + ) return cadence.NewAttachment( []cadence.Value{}, ).WithType(attachmentType) @@ -6797,16 +6822,18 @@ func TestEncodeAttachment(t *testing.T) { primitiveFieldAttachment := encodeTest{ name: "simple", val: func() cadence.Value { - attachmentType := &cadence.AttachmentType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooAttachment", - Fields: []cadence.Field{ + attachmentType := cadence.NewAttachmentType( + utils.TestLocation, + "FooAttachment", + nil, + []cadence.Field{ { Identifier: "i", Type: cadence.UInt8Type, }, }, - } + nil, + ) return cadence.NewAttachment( []cadence.Value{ cadence.NewUInt8(1), @@ -6876,20 +6903,22 @@ func TestEncodeAttachment(t *testing.T) { structFieldAttachment := encodeTest{ name: "struct field", val: func() cadence.Value { - structType := &cadence.StructType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooStruct", - Fields: []cadence.Field{ + structType := cadence.NewStructType( + utils.TestLocation, + "FooStruct", + []cadence.Field{ { Identifier: "bar", Type: cadence.IntType, }, }, - } - attachmentType := &cadence.AttachmentType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooAttachment", - Fields: []cadence.Field{ + nil, + ) + attachmentType := cadence.NewAttachmentType( + utils.TestLocation, + "FooAttachment", + nil, + []cadence.Field{ { Identifier: "a", Type: cadence.StringType, @@ -6899,7 +6928,8 @@ func TestEncodeAttachment(t *testing.T) { Type: structType, }, }, - } + nil, + ) return cadence.NewAttachment( []cadence.Value{ cadence.String("foo"), @@ -7475,16 +7505,17 @@ func TestEncodeValueOfReferenceType(t *testing.T) { // as tests may run in parallel newSimpleStructType := func() *cadence.StructType { - return &cadence.StructType{ - Location: utils.TestLocation, - QualifiedIdentifier: "Foo", - Fields: []cadence.Field{ + return cadence.NewStructType( + utils.TestLocation, + "Foo", + []cadence.Field{ { Identifier: "a", Type: cadence.StringType, }, }, - } + nil, + ) } // ["a", "b"] with static type []&String @@ -8806,12 +8837,12 @@ func TestEncodeType(t *testing.T) { testEncodeAndDecode( t, cadence.TypeValue{ - StaticType: &cadence.StructType{ - Location: utils.TestLocation, - QualifiedIdentifier: "S", - Fields: []cadence.Field{}, - Initializers: [][]cadence.Parameter{}, - }, + StaticType: cadence.NewStructType( + utils.TestLocation, + "S", + []cadence.Field{}, + [][]cadence.Parameter{}, + ), }, []byte{ // language=json, format=json-cdc @@ -8855,20 +8886,20 @@ func TestEncodeType(t *testing.T) { t.Parallel() val := cadence.TypeValue{ - StaticType: &cadence.StructType{ - Location: utils.TestLocation, - QualifiedIdentifier: "S", - Fields: []cadence.Field{ + StaticType: cadence.NewStructType( + utils.TestLocation, + "S", + []cadence.Field{ {Identifier: "foo", Type: cadence.IntType}, {Identifier: "bar", Type: cadence.IntType}, }, - Initializers: [][]cadence.Parameter{ + [][]cadence.Parameter{ { {Label: "foo", Identifier: "bar", Type: cadence.IntType}, {Label: "qux", Identifier: "baz", Type: cadence.StringType}, }, }, - }, + ), } expectedCBOR := []byte{ @@ -8978,20 +9009,20 @@ func TestEncodeType(t *testing.T) { testEncodeAndDecodeEx( t, cadence.TypeValue{ - StaticType: &cadence.StructType{ - Location: utils.TestLocation, - QualifiedIdentifier: "S", - Fields: []cadence.Field{ + StaticType: cadence.NewStructType( + utils.TestLocation, + "S", + []cadence.Field{ {Identifier: "foo", Type: cadence.IntType}, {Identifier: "bar", Type: cadence.IntType}, }, - Initializers: [][]cadence.Parameter{ + [][]cadence.Parameter{ { {Label: "foo", Identifier: "bar", Type: cadence.IntType}, {Label: "qux", Identifier: "baz", Type: cadence.StringType}, }, }, - }, + ), }, []byte{ // language=json, format=json-cdc @@ -9079,20 +9110,20 @@ func TestEncodeType(t *testing.T) { 0x01, }, cadence.TypeValue{ - StaticType: &cadence.StructType{ - Location: utils.TestLocation, - QualifiedIdentifier: "S", - Fields: []cadence.Field{ + StaticType: cadence.NewStructType( + utils.TestLocation, + "S", + []cadence.Field{ {Identifier: "bar", Type: cadence.IntType}, {Identifier: "foo", Type: cadence.IntType}, }, - Initializers: [][]cadence.Parameter{ + [][]cadence.Parameter{ { {Label: "foo", Identifier: "bar", Type: cadence.IntType}, {Label: "qux", Identifier: "baz", Type: cadence.StringType}, }, }, - }, + ), }, ) }) @@ -9100,30 +9131,30 @@ func TestEncodeType(t *testing.T) { t.Run("with static resource of composite fields and initializers", func(t *testing.T) { t.Parallel() - fooTy := &cadence.ResourceType{ - Location: utils.TestLocation, - QualifiedIdentifier: "Foo", - Fields: []cadence.Field{}, - Initializers: [][]cadence.Parameter{}, - } + fooTy := cadence.NewResourceType( + utils.TestLocation, + "Foo", + []cadence.Field{}, + [][]cadence.Parameter{}, + ) - fooTy2 := &cadence.ResourceType{ - Location: utils.TestLocation, - QualifiedIdentifier: "Foo2", - Fields: []cadence.Field{}, - Initializers: [][]cadence.Parameter{}, - } + fooTy2 := cadence.NewResourceType( + utils.TestLocation, + "Foo2", + []cadence.Field{}, + [][]cadence.Parameter{}, + ) - barTy := &cadence.ResourceType{ - Location: utils.TestLocation, - QualifiedIdentifier: "Bar", - Fields: []cadence.Field{ + barTy := cadence.NewResourceType( + utils.TestLocation, + "Bar", + []cadence.Field{ { Identifier: "foo1", Type: fooTy, }, }, - Initializers: [][]cadence.Parameter{ + [][]cadence.Parameter{ { cadence.Parameter{ Type: fooTy2, @@ -9132,7 +9163,7 @@ func TestEncodeType(t *testing.T) { }, }, }, - } + ) testEncodeAndDecode( t, @@ -9240,19 +9271,19 @@ func TestEncodeType(t *testing.T) { testEncodeAndDecode( t, cadence.TypeValue{ - StaticType: &cadence.ResourceType{ - Location: utils.TestLocation, - QualifiedIdentifier: "R", - Fields: []cadence.Field{ + StaticType: cadence.NewResourceType( + utils.TestLocation, + "R", + []cadence.Field{ {Identifier: "foo", Type: cadence.IntType}, }, - Initializers: [][]cadence.Parameter{ + [][]cadence.Parameter{ { {Label: "foo", Identifier: "bar", Type: cadence.IntType}, {Label: "qux", Identifier: "baz", Type: cadence.StringType}, }, }, - }, + ), }, []byte{ // language=json, format=json-cdc @@ -9338,19 +9369,19 @@ func TestEncodeType(t *testing.T) { testEncodeAndDecode( t, cadence.TypeValue{ - StaticType: &cadence.ContractType{ - Location: utils.TestLocation, - QualifiedIdentifier: "C", - Fields: []cadence.Field{ + StaticType: cadence.NewContractType( + utils.TestLocation, + "C", + []cadence.Field{ {Identifier: "foo", Type: cadence.IntType}, }, - Initializers: [][]cadence.Parameter{ + [][]cadence.Parameter{ { {Label: "foo", Identifier: "bar", Type: cadence.IntType}, {Label: "qux", Identifier: "baz", Type: cadence.StringType}, }, }, - }, + ), }, []byte{ // language=json, format=json-cdc @@ -9436,19 +9467,19 @@ func TestEncodeType(t *testing.T) { testEncodeAndDecode( t, cadence.TypeValue{ - StaticType: &cadence.StructInterfaceType{ - Location: utils.TestLocation, - QualifiedIdentifier: "S", - Fields: []cadence.Field{ + StaticType: cadence.NewStructInterfaceType( + utils.TestLocation, + "S", + []cadence.Field{ {Identifier: "foo", Type: cadence.IntType}, }, - Initializers: [][]cadence.Parameter{ + [][]cadence.Parameter{ { {Label: "foo", Identifier: "bar", Type: cadence.IntType}, {Label: "qux", Identifier: "baz", Type: cadence.StringType}, }, }, - }, + ), }, []byte{ // language=json, format=json-cdc @@ -9534,19 +9565,19 @@ func TestEncodeType(t *testing.T) { testEncodeAndDecode( t, cadence.TypeValue{ - StaticType: &cadence.ResourceInterfaceType{ - Location: utils.TestLocation, - QualifiedIdentifier: "R", - Fields: []cadence.Field{ + StaticType: cadence.NewResourceInterfaceType( + utils.TestLocation, + "R", + []cadence.Field{ {Identifier: "foo", Type: cadence.IntType}, }, - Initializers: [][]cadence.Parameter{ + [][]cadence.Parameter{ { {Label: "foo", Identifier: "bar", Type: cadence.IntType}, {Label: "qux", Identifier: "baz", Type: cadence.StringType}, }, }, - }, + ), }, []byte{ // language=json, format=json-cdc @@ -9632,19 +9663,19 @@ func TestEncodeType(t *testing.T) { testEncodeAndDecode( t, cadence.TypeValue{ - StaticType: &cadence.ContractInterfaceType{ - Location: utils.TestLocation, - QualifiedIdentifier: "C", - Fields: []cadence.Field{ + StaticType: cadence.NewContractInterfaceType( + utils.TestLocation, + "C", + []cadence.Field{ {Identifier: "foo", Type: cadence.IntType}, }, - Initializers: [][]cadence.Parameter{ + [][]cadence.Parameter{ { {Label: "foo", Identifier: "bar", Type: cadence.IntType}, {Label: "qux", Identifier: "baz", Type: cadence.StringType}, }, }, - }, + ), }, []byte{ // language=json, format=json-cdc @@ -9730,17 +9761,17 @@ func TestEncodeType(t *testing.T) { testEncodeAndDecode( t, cadence.TypeValue{ - StaticType: &cadence.EventType{ - Location: utils.TestLocation, - QualifiedIdentifier: "E", - Fields: []cadence.Field{ + StaticType: cadence.NewEventType( + utils.TestLocation, + "E", + []cadence.Field{ {Identifier: "foo", Type: cadence.IntType}, }, - Initializer: []cadence.Parameter{ + []cadence.Parameter{ {Label: "foo", Identifier: "bar", Type: cadence.IntType}, {Label: "qux", Identifier: "baz", Type: cadence.StringType}, }, - }, + ), }, []byte{ // language=json, format=json-cdc @@ -9826,20 +9857,20 @@ func TestEncodeType(t *testing.T) { testEncodeAndDecode( t, cadence.TypeValue{ - StaticType: &cadence.EnumType{ - Location: utils.TestLocation, - QualifiedIdentifier: "E", - RawType: cadence.StringType, - Fields: []cadence.Field{ + StaticType: cadence.NewEnumType( + utils.TestLocation, + "E", + cadence.StringType, + []cadence.Field{ {Identifier: "foo", Type: cadence.IntType}, }, - Initializers: [][]cadence.Parameter{ + [][]cadence.Parameter{ { {Label: "foo", Identifier: "bar", Type: cadence.IntType}, {Label: "qux", Identifier: "baz", Type: cadence.StringType}, }, }, - }, + ), }, []byte{ // language=json, format=json-cdc @@ -9927,20 +9958,20 @@ func TestEncodeType(t *testing.T) { testEncodeAndDecode( t, cadence.TypeValue{ - StaticType: &cadence.AttachmentType{ - Location: utils.TestLocation, - QualifiedIdentifier: "A", - BaseType: cadence.StringType, - Fields: []cadence.Field{ + StaticType: cadence.NewAttachmentType( + utils.TestLocation, + "A", + cadence.StringType, + []cadence.Field{ {Identifier: "foo", Type: cadence.IntType}, }, - Initializers: [][]cadence.Parameter{ + [][]cadence.Parameter{ { {Label: "foo", Identifier: "bar", Type: cadence.IntType}, {Label: "qux", Identifier: "baz", Type: cadence.StringType}, }, }, - }, + ), }, []byte{ // language=json, format=json-cdc @@ -10025,32 +10056,32 @@ func TestEncodeType(t *testing.T) { t.Run("with static attachment of resource base type", func(t *testing.T) { t.Parallel() - baseType := &cadence.ResourceType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooBase", - Fields: []cadence.Field{ + baseType := cadence.NewResourceType( + utils.TestLocation, + "FooBase", + []cadence.Field{ {Identifier: "bar", Type: cadence.StringType}, }, - Initializers: [][]cadence.Parameter{}, - } + [][]cadence.Parameter{}, + ) testEncodeAndDecode( t, cadence.TypeValue{ - StaticType: &cadence.AttachmentType{ - Location: utils.TestLocation, - QualifiedIdentifier: "A", - BaseType: baseType, - Fields: []cadence.Field{ + StaticType: cadence.NewAttachmentType( + utils.TestLocation, + "A", + baseType, + []cadence.Field{ {Identifier: "foo", Type: cadence.IntType}, }, - Initializers: [][]cadence.Parameter{ + [][]cadence.Parameter{ { {Label: "foo", Identifier: "bar", Type: cadence.IntType}, {Label: "qux", Identifier: "baz", Type: cadence.StringType}, }, }, - }, + ), }, []byte{ // language=json, format=json-cdc @@ -11016,16 +11047,17 @@ func TestEncodeCapability(t *testing.T) { t.Run("array of unparameterized Capability", func(t *testing.T) { t.Parallel() - simpleStructType := &cadence.StructType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooStruct", - Fields: []cadence.Field{ + simpleStructType := cadence.NewStructType( + utils.TestLocation, + "FooStruct", + []cadence.Field{ { Identifier: "bar", Type: cadence.IntType, }, }, - } + nil, + ) capability1 := cadence.Capability{ ID: 42, @@ -11682,17 +11714,19 @@ func TestExportRecursiveType(t *testing.T) { t.Parallel() - ty := &cadence.ResourceType{ - Location: utils.TestLocation, - QualifiedIdentifier: "Foo", - Fields: []cadence.Field{ - { - Identifier: "foo", - }, + fields := []cadence.Field{ + { + Identifier: "foo", }, } + ty := cadence.NewResourceType( + utils.TestLocation, + "Foo", + fields, + nil, + ) - ty.Fields[0].Type = &cadence.OptionalType{ + fields[0].Type = &cadence.OptionalType{ Type: ty, } @@ -11773,18 +11807,19 @@ func TestExportTypeValueRecursiveType(t *testing.T) { t.Parallel() - ty := &cadence.ResourceType{ - Location: utils.TestLocation, - QualifiedIdentifier: "Foo", - Fields: []cadence.Field{ - { - Identifier: "foo", - }, + fields := []cadence.Field{ + { + Identifier: "foo", }, - Initializers: [][]cadence.Parameter{}, } + ty := cadence.NewResourceType( + utils.TestLocation, + "Foo", + fields, + [][]cadence.Parameter{}, + ) - ty.Fields[0].Type = &cadence.OptionalType{ + fields[0].Type = &cadence.OptionalType{ Type: ty, } @@ -11926,14 +11961,16 @@ func TestExportTypeValueRecursiveType(t *testing.T) { t.Parallel() // structType is generated by fuzzer. + fields := []cadence.Field{{}} + structType := cadence.NewStructType( common.StringLocation("foo"), "Foo", - []cadence.Field{{}}, + fields, [][]cadence.Parameter{{{}}}, ) - structType.Fields[0] = cadence.Field{ + fields[0] = cadence.Field{ Type: &cadence.OptionalType{Type: structType}, Identifier: "aa", } @@ -12021,24 +12058,24 @@ func TestExportTypeValueRecursiveType(t *testing.T) { t.Parallel() - fooTy := &cadence.ResourceType{ - Location: utils.TestLocation, - QualifiedIdentifier: "Foo", - Fields: []cadence.Field{}, - Initializers: [][]cadence.Parameter{}, - } + fooTy := cadence.NewResourceType( + utils.TestLocation, + "Foo", + []cadence.Field{}, + [][]cadence.Parameter{}, + ) - fooTy2 := &cadence.ResourceType{ - Location: utils.TestLocation, - QualifiedIdentifier: "Foo2", - Fields: []cadence.Field{}, - Initializers: [][]cadence.Parameter{}, - } + fooTy2 := cadence.NewResourceType( + utils.TestLocation, + "Foo2", + []cadence.Field{}, + [][]cadence.Parameter{}, + ) - barTy := &cadence.ResourceType{ - Location: utils.TestLocation, - QualifiedIdentifier: "Bar", - Fields: []cadence.Field{ + barTy := cadence.NewResourceType( + utils.TestLocation, + "Bar", + []cadence.Field{ { Identifier: "foo1", Type: fooTy, @@ -12048,7 +12085,7 @@ func TestExportTypeValueRecursiveType(t *testing.T) { Type: fooTy, }, }, - Initializers: [][]cadence.Parameter{ + [][]cadence.Parameter{ { cadence.Parameter{ Type: &cadence.OptionalType{Type: fooTy}, @@ -12062,7 +12099,7 @@ func TestExportTypeValueRecursiveType(t *testing.T) { }, }, }, - } + ) testEncodeAndDecode( t, @@ -12708,10 +12745,10 @@ func testDecode(t *testing.T, actualCBOR []byte, expectedVal cadence.Value) { // TODO: make resource (illegal nesting) func newResourceStructType() *cadence.StructType { - return &cadence.StructType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooStruct", - Fields: []cadence.Field{ + return cadence.NewStructType( + utils.TestLocation, + "FooStruct", + []cadence.Field{ { Identifier: "a", Type: cadence.StringType, @@ -12721,27 +12758,29 @@ func newResourceStructType() *cadence.StructType { Type: newFooResourceType(), }, }, - } + nil, + ) } func newFooResourceType() *cadence.ResourceType { - return &cadence.ResourceType{ - Location: utils.TestLocation, - QualifiedIdentifier: "Foo", - Fields: []cadence.Field{ + return cadence.NewResourceType( + utils.TestLocation, + "Foo", + []cadence.Field{ { Identifier: "bar", Type: cadence.IntType, }, }, - } + nil, + ) } func newFoooResourceTypeWithAbstractField() *cadence.ResourceType { - return &cadence.ResourceType{ - Location: utils.TestLocation, - QualifiedIdentifier: "Fooo", - Fields: []cadence.Field{ + return cadence.NewResourceType( + utils.TestLocation, + "Fooo", + []cadence.Field{ { Identifier: "bar", Type: cadence.IntType, @@ -12751,7 +12790,8 @@ func newFoooResourceTypeWithAbstractField() *cadence.ResourceType { Type: cadence.AnyStructType, }, }, - } + nil, + ) } func TestEncodeBuiltinComposites(t *testing.T) { @@ -12766,10 +12806,12 @@ func TestEncodeBuiltinComposites(t *testing.T) { testCases := []testCase{ { name: "Struct", - typ: &cadence.StructType{ - Location: nil, - QualifiedIdentifier: "Foo", - }, + typ: cadence.NewStructType( + nil, + "Foo", + nil, + nil, + ), encoded: []byte{ // language=json, format=json-cdc // {"type":"Type","value":{"staticType":{"kind":"Struct","typeID":"Foo","fields":[],"initializers":[],"type":""}}} @@ -12808,10 +12850,12 @@ func TestEncodeBuiltinComposites(t *testing.T) { }, { name: "StructInterface", - typ: &cadence.StructInterfaceType{ - Location: nil, - QualifiedIdentifier: "Foo", - }, + typ: cadence.NewStructInterfaceType( + nil, + "Foo", + nil, + nil, + ), encoded: []byte{ // language=json, format=json-cdc // {"type":"Type","value":{"staticType":{"kind":"StructInterface","typeID":"Foo","fields":[],"initializers":[],"type":""}}} @@ -12850,10 +12894,12 @@ func TestEncodeBuiltinComposites(t *testing.T) { }, { name: "Resource", - typ: &cadence.ResourceType{ - Location: nil, - QualifiedIdentifier: "Foo", - }, + typ: cadence.NewResourceType( + nil, + "Foo", + nil, + nil, + ), encoded: []byte{ // language=json, format=json-cdc // {"type":"Type","value":{"staticType":{"kind":"Resource","typeID":"Foo","fields":[],"initializers":[],"type":""}}} @@ -12892,10 +12938,12 @@ func TestEncodeBuiltinComposites(t *testing.T) { }, { name: "ResourceInterface", - typ: &cadence.ResourceInterfaceType{ - Location: nil, - QualifiedIdentifier: "Foo", - }, + typ: cadence.NewResourceInterfaceType( + nil, + "Foo", + nil, + nil, + ), encoded: []byte{ // language=json, format=json-cdc // {"type":"Type","value":{"staticType":{"kind":"ResourceInterface","typeID":"Foo","fields":[],"initializers":[],"type":""}}} @@ -12934,10 +12982,12 @@ func TestEncodeBuiltinComposites(t *testing.T) { }, { name: "Contract", - typ: &cadence.ContractType{ - Location: nil, - QualifiedIdentifier: "Foo", - }, + typ: cadence.NewContractType( + nil, + "Foo", + nil, + nil, + ), encoded: []byte{ // language=json, format=json-cdc // {"type":"Type","value":{"staticType":{"kind":"Contract","typeID":"Foo","fields":[],"initializers":[],"type":""}}} @@ -12976,10 +13026,12 @@ func TestEncodeBuiltinComposites(t *testing.T) { }, { name: "ContractInterface", - typ: &cadence.ContractInterfaceType{ - Location: nil, - QualifiedIdentifier: "Foo", - }, + typ: cadence.NewContractInterfaceType( + nil, + "Foo", + nil, + nil, + ), encoded: []byte{ // language=json, format=json-cdc // {"type":"Type","value":{"staticType":{"kind":"ContractInterface","typeID":"Foo","fields":[],"initializers":[],"type":""}}} @@ -13018,10 +13070,13 @@ func TestEncodeBuiltinComposites(t *testing.T) { }, { name: "Enum", - typ: &cadence.EnumType{ - Location: nil, - QualifiedIdentifier: "Foo", - }, + typ: cadence.NewEnumType( + nil, + "Foo", + nil, + nil, + nil, + ), encoded: []byte{ // language=json, format=json-cdc // {"type":"Type","value":{"staticType":{"kind":"Enum","typeID":"Foo","fields":[],"initializers":[],"type":""}}} @@ -13060,10 +13115,12 @@ func TestEncodeBuiltinComposites(t *testing.T) { }, { name: "Event", - typ: &cadence.EventType{ - Location: nil, - QualifiedIdentifier: "Foo", - }, + typ: cadence.NewEventType( + nil, + "Foo", + nil, + nil, + ), encoded: []byte{ // language=json, format=json-cdc // {"type":"Type","value":{"staticType":{"kind":"Event","typeID":"Foo","fields":[],"initializers":[],"type":""}}} @@ -13122,17 +13179,19 @@ func TestExportFunctionValue(t *testing.T) { t.Parallel() - ty := &cadence.ResourceType{ - Location: utils.TestLocation, - QualifiedIdentifier: "Foo", - Fields: []cadence.Field{ - { - Identifier: "foo", - }, + fields := []cadence.Field{ + { + Identifier: "foo", }, } + ty := cadence.NewResourceType( + utils.TestLocation, + "Foo", + fields, + nil, + ) - ty.Fields[0].Type = &cadence.OptionalType{ + fields[0].Type = &cadence.OptionalType{ Type: ty, } @@ -14003,10 +14062,10 @@ func newFlowFeesFeesDeductedEventType() *cadence.EventType { address, _ := common.HexToAddress("f919ee77447b7497") location := common.NewAddressLocation(nil, address, "FlowFees") - return &cadence.EventType{ - Location: location, - QualifiedIdentifier: "FlowFees.FeesDeducted", - Fields: []cadence.Field{ + return cadence.NewEventType( + location, + "FlowFees.FeesDeducted", + []cadence.Field{ { Identifier: "amount", Type: cadence.UFix64Type, @@ -14020,7 +14079,8 @@ func newFlowFeesFeesDeductedEventType() *cadence.EventType { Type: cadence.UFix64Type, }, }, - } + nil, + ) } func createFlowFeesFeesDeductedEvent() cadence.Event { @@ -14047,16 +14107,17 @@ func newFlowFeesTokensWithdrawnEventType() *cadence.EventType { address, _ := common.HexToAddress("f919ee77447b7497") location := common.NewAddressLocation(nil, address, "FlowFees") - return &cadence.EventType{ - Location: location, - QualifiedIdentifier: "FlowFees.TokensWithdrawn", - Fields: []cadence.Field{ + return cadence.NewEventType( + location, + "FlowFees.TokensWithdrawn", + []cadence.Field{ { Identifier: "amount", Type: cadence.UFix64Type, }, }, - } + nil, + ) } func createFlowFeesTokensWithdrawnEvent() cadence.Event { @@ -14079,10 +14140,10 @@ func newFlowTokenTokensDepositedEventType() *cadence.EventType { address, _ := common.HexToAddress("1654653399040a61") location := common.NewAddressLocation(nil, address, "FlowToken") - return &cadence.EventType{ - Location: location, - QualifiedIdentifier: "FlowToken.TokensDeposited", - Fields: []cadence.Field{ + return cadence.NewEventType( + location, + "FlowToken.TokensDeposited", + []cadence.Field{ { Identifier: "amount", Type: cadence.UFix64Type, @@ -14094,7 +14155,8 @@ func newFlowTokenTokensDepositedEventType() *cadence.EventType { }, }, }, - } + nil, + ) } func createFlowTokenTokensDepositedEventNoReceiver() cadence.Event { @@ -14137,16 +14199,17 @@ func newFlowTokenTokensMintedEventType() *cadence.EventType { address, _ := common.HexToAddress("1654653399040a61") location := common.NewAddressLocation(nil, address, "FlowToken") - return &cadence.EventType{ - Location: location, - QualifiedIdentifier: "FlowToken.TokensMinted", - Fields: []cadence.Field{ + return cadence.NewEventType( + location, + "FlowToken.TokensMinted", + []cadence.Field{ { Identifier: "amount", Type: cadence.UFix64Type, }, }, - } + nil, + ) } func createFlowTokenTokensMintedEvent() cadence.Event { @@ -14169,10 +14232,10 @@ func newFlowTokenTokensWithdrawnEventType() *cadence.EventType { address, _ := common.HexToAddress("1654653399040a61") location := common.NewAddressLocation(nil, address, "FlowToken") - return &cadence.EventType{ - Location: location, - QualifiedIdentifier: "FlowToken.TokensWithdrawn", - Fields: []cadence.Field{ + return cadence.NewEventType( + location, + "FlowToken.TokensWithdrawn", + []cadence.Field{ { Identifier: "amount", Type: cadence.UFix64Type, @@ -14184,7 +14247,8 @@ func newFlowTokenTokensWithdrawnEventType() *cadence.EventType { }, }, }, - } + nil, + ) } func createFlowTokenTokensWithdrawnEvent() cadence.Event { @@ -14211,10 +14275,10 @@ func newFlowIDTableStakingDelegatorRewardsPaidEventType() *cadence.EventType { address, _ := common.HexToAddress("8624b52f9ddcd04a") location := common.NewAddressLocation(nil, address, "FlowIDTableStaking") - return &cadence.EventType{ - Location: location, - QualifiedIdentifier: "FlowIDTableStaking.DelegatorRewardsPaid", - Fields: []cadence.Field{ + return cadence.NewEventType( + location, + "FlowIDTableStaking.DelegatorRewardsPaid", + []cadence.Field{ { Identifier: "nodeID", Type: cadence.StringType, @@ -14228,7 +14292,8 @@ func newFlowIDTableStakingDelegatorRewardsPaidEventType() *cadence.EventType { Type: cadence.UFix64Type, }, }, - } + nil, + ) } func createFlowIDTableStakingDelegatorRewardsPaidEvent() cadence.Event { @@ -14255,10 +14320,10 @@ func newFlowIDTableStakingEpochTotalRewardsPaidEventType() *cadence.EventType { address, _ := common.HexToAddress("8624b52f9ddcd04a") location := common.NewAddressLocation(nil, address, "FlowIDTableStaking") - return &cadence.EventType{ - Location: location, - QualifiedIdentifier: "FlowIDTableStaking.EpochTotalRewardsPaid", - Fields: []cadence.Field{ + return cadence.NewEventType( + location, + "FlowIDTableStaking.EpochTotalRewardsPaid", + []cadence.Field{ { Identifier: "total", Type: cadence.UFix64Type, @@ -14276,7 +14341,8 @@ func newFlowIDTableStakingEpochTotalRewardsPaidEventType() *cadence.EventType { Type: cadence.UFix64Type, }, }, - } + nil, + ) } func createFlowIDTableStakingEpochTotalRewardsPaidEvent() cadence.Event { @@ -14305,16 +14371,17 @@ func newFlowIDTableStakingNewWeeklyPayoutEventType() *cadence.EventType { address, _ := common.HexToAddress("8624b52f9ddcd04a") location := common.NewAddressLocation(nil, address, "FlowIDTableStaking") - return &cadence.EventType{ - Location: location, - QualifiedIdentifier: "FlowIDTableStaking.NewWeeklyPayout", - Fields: []cadence.Field{ + return cadence.NewEventType( + location, + "FlowIDTableStaking.NewWeeklyPayout", + []cadence.Field{ { Identifier: "newPayout", Type: cadence.UFix64Type, }, }, - } + nil, + ) } func createFlowIDTableStakingNewWeeklyPayoutEvent() cadence.Event { @@ -14337,10 +14404,10 @@ func newFlowIDTableStakingRewardsPaidEventType() *cadence.EventType { address, _ := common.HexToAddress("8624b52f9ddcd04a") location := common.NewAddressLocation(nil, address, "FlowIDTableStaking") - return &cadence.EventType{ - Location: location, - QualifiedIdentifier: "FlowIDTableStaking.RewardsPaid", - Fields: []cadence.Field{ + return cadence.NewEventType( + location, + "FlowIDTableStaking.RewardsPaid", + []cadence.Field{ { Identifier: "nodeID", Type: cadence.StringType, @@ -14350,7 +14417,8 @@ func newFlowIDTableStakingRewardsPaidEventType() *cadence.EventType { Type: cadence.UFix64Type, }, }, - } + nil, + ) } func createFlowIDTableStakingRewardsPaidEvent() cadence.Event { diff --git a/encoding/ccf/ccf_type_id_test.go b/encoding/ccf/ccf_type_id_test.go index 1e84004e8f..eda0d4938c 100644 --- a/encoding/ccf/ccf_type_id_test.go +++ b/encoding/ccf/ccf_type_id_test.go @@ -116,23 +116,24 @@ func TestCadenceTypeByCCFTypeID(t *testing.T) { } func simpleStructType() *cadence.StructType { - return &cadence.StructType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooStruct", - Fields: []cadence.Field{ + return cadence.NewStructType( + utils.TestLocation, + "FooStruct", + []cadence.Field{ { Identifier: "a", Type: cadence.IntType, }, }, - } + nil, + ) } func simpleStructType2() *cadence.StructType { - return &cadence.StructType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooStruct2", - Fields: []cadence.Field{ + return cadence.NewStructType( + utils.TestLocation, + "FooStruct2", + []cadence.Field{ { Identifier: "a", Type: cadence.IntType, @@ -142,5 +143,6 @@ func simpleStructType2() *cadence.StructType { Type: cadence.StringType, }, }, - } + nil, + ) } diff --git a/encoding/ccf/decode.go b/encoding/ccf/decode.go index e0f4b60fe2..990b21605b 100644 --- a/encoding/ccf/decode.go +++ b/encoding/ccf/decode.go @@ -24,6 +24,7 @@ import ( "math" "math/big" goRuntime "runtime" + _ "unsafe" "github.com/fxamacker/cbor/v2" @@ -1210,11 +1211,17 @@ func (d *Decoder) decodeComposite(fieldTypes []cadence.Field, types *cadenceType return fieldValues, nil } +//go:linkname getCompositeTypeFields github.com/onflow/cadence.getCompositeTypeFields +func getCompositeTypeFields(cadence.CompositeType) []cadence.Field + +//go:linkname getInterfaceTypeFields github.com/onflow/cadence.getInterfaceTypeFields +func getInterfaceTypeFields(cadence.InterfaceType) []cadence.Field + // decodeStruct decodes encoded composite-value as // language=CDDL // composite-value = [* (field: value)] func (d *Decoder) decodeStruct(typ *cadence.StructType, types *cadenceTypeByCCFTypeID) (cadence.Value, error) { - fieldValues, err := d.decodeComposite(typ.Fields, types) + fieldValues, err := d.decodeComposite(getCompositeTypeFields(typ), types) if err != nil { return nil, err } @@ -1238,7 +1245,7 @@ func (d *Decoder) decodeStruct(typ *cadence.StructType, types *cadenceTypeByCCFT // language=CDDL // composite-value = [* (field: value)] func (d *Decoder) decodeResource(typ *cadence.ResourceType, types *cadenceTypeByCCFTypeID) (cadence.Value, error) { - fieldValues, err := d.decodeComposite(typ.Fields, types) + fieldValues, err := d.decodeComposite(getCompositeTypeFields(typ), types) if err != nil { return nil, err } @@ -1262,7 +1269,7 @@ func (d *Decoder) decodeResource(typ *cadence.ResourceType, types *cadenceTypeBy // language=CDDL // composite-value = [* (field: value)] func (d *Decoder) decodeEvent(typ *cadence.EventType, types *cadenceTypeByCCFTypeID) (cadence.Value, error) { - fieldValues, err := d.decodeComposite(typ.Fields, types) + fieldValues, err := d.decodeComposite(getCompositeTypeFields(typ), types) if err != nil { return nil, err } @@ -1286,7 +1293,7 @@ func (d *Decoder) decodeEvent(typ *cadence.EventType, types *cadenceTypeByCCFTyp // language=CDDL // composite-value = [* (field: value)] func (d *Decoder) decodeContract(typ *cadence.ContractType, types *cadenceTypeByCCFTypeID) (cadence.Value, error) { - fieldValues, err := d.decodeComposite(typ.Fields, types) + fieldValues, err := d.decodeComposite(getCompositeTypeFields(typ), types) if err != nil { return nil, err } @@ -1310,7 +1317,7 @@ func (d *Decoder) decodeContract(typ *cadence.ContractType, types *cadenceTypeBy // language=CDDL // composite-value = [* (field: value)] func (d *Decoder) decodeEnum(typ *cadence.EnumType, types *cadenceTypeByCCFTypeID) (cadence.Value, error) { - fieldValues, err := d.decodeComposite(typ.Fields, types) + fieldValues, err := d.decodeComposite(getCompositeTypeFields(typ), types) if err != nil { return nil, err } @@ -1334,7 +1341,7 @@ func (d *Decoder) decodeEnum(typ *cadence.EnumType, types *cadenceTypeByCCFTypeI // language=CDDL // composite-value = [* (field: value)] func (d *Decoder) decodeAttachment(typ *cadence.AttachmentType, types *cadenceTypeByCCFTypeID) (cadence.Value, error) { - fieldValues, err := d.decodeComposite(typ.Fields, types) + fieldValues, err := d.decodeComposite(getCompositeTypeFields(typ), types) if err != nil { return nil, err } @@ -1780,8 +1787,8 @@ func (d *Decoder) decodeAttachmentTypeValue(visited *cadenceTypeByCCFTypeID) (ca return cadence.NewMeteredAttachmentType( d.gauge, location, - typ, qualifiedIdentifier, + typ, nil, nil, ), nil @@ -1894,6 +1901,12 @@ type compositeTypeValue struct { rawInitializers []byte } +//go:linkname setCompositeTypeFields github.com/onflow/cadence.setCompositeTypeFields +func setCompositeTypeFields(cadence.CompositeType, []cadence.Field) + +//go:linkname setInterfaceTypeFields github.com/onflow/cadence.setInterfaceTypeFields +func setInterfaceTypeFields(cadence.InterfaceType, []cadence.Field) + // decodeCompositeTypeValue decodes composite-type-value. // See _decodeCompositeTypeValue for details. func (d *Decoder) decodeCompositeTypeValue( @@ -1943,11 +1956,11 @@ func (d *Decoder) decodeCompositeTypeValue( switch compositeType := compositeType.(type) { case *cadence.StructType: - compositeType.Fields = fields + setCompositeTypeFields(compositeType, fields) compositeType.Initializers = initializers case *cadence.ResourceType: - compositeType.Fields = fields + setCompositeTypeFields(compositeType, fields) compositeType.Initializers = initializers case *cadence.EventType: @@ -1957,31 +1970,31 @@ func (d *Decoder) decodeCompositeTypeValue( len(initializers), ) } - compositeType.Fields = fields + setCompositeTypeFields(compositeType, fields) compositeType.Initializer = initializers[0] case *cadence.ContractType: - compositeType.Fields = fields + setCompositeTypeFields(compositeType, fields) compositeType.Initializers = initializers case *cadence.EnumType: - compositeType.Fields = fields + setCompositeTypeFields(compositeType, fields) compositeType.Initializers = initializers case *cadence.AttachmentType: - compositeType.Fields = fields + setCompositeTypeFields(compositeType, fields) compositeType.Initializers = initializers case *cadence.StructInterfaceType: - compositeType.Fields = fields + setInterfaceTypeFields(compositeType, fields) compositeType.Initializers = initializers case *cadence.ResourceInterfaceType: - compositeType.Fields = fields + setInterfaceTypeFields(compositeType, fields) compositeType.Initializers = initializers case *cadence.ContractInterfaceType: - compositeType.Fields = fields + setInterfaceTypeFields(compositeType, fields) compositeType.Initializers = initializers } diff --git a/encoding/ccf/decode_typedef.go b/encoding/ccf/decode_typedef.go index 5221211b5c..11c4dd583e 100644 --- a/encoding/ccf/decode_typedef.go +++ b/encoding/ccf/decode_typedef.go @@ -133,7 +133,7 @@ func (d *Decoder) decodeTypeDefs() (*cadenceTypeByCCFTypeID, error) { switch typ := typ.(type) { case cadence.CompositeType: - typ.SetCompositeFields(fields) + setCompositeTypeFields(typ, fields) default: return nil, fmt.Errorf("unsupported type %s (%T) in composite-typedef", typ.ID(), typ) @@ -269,10 +269,10 @@ func (d *Decoder) decodeTypeDef( return cadence.NewMeteredAttachmentType( d.gauge, location, - nil, identifier, nil, nil, + nil, ) } return d.decodeCompositeType(types, ctr) diff --git a/encoding/ccf/encode.go b/encoding/ccf/encode.go index 8feb208515..9317773150 100644 --- a/encoding/ccf/encode.go +++ b/encoding/ccf/encode.go @@ -640,7 +640,7 @@ func (e *Encoder) encodeValue( // encodeVoid encodes cadence.Void as // language=CDDL // void-value = nil -func (e *Encoder) encodeVoid(v cadence.Void) error { +func (e *Encoder) encodeVoid(_ cadence.Void) error { return e.enc.EncodeNil() } @@ -1022,8 +1022,8 @@ func (e *Encoder) encodeInclusiveRange(v *cadence.InclusiveRange, tids ccfTypeID return e.encodeValue(v.Step, staticElementType, tids) } -//go:linkname getFieldValues github.com/onflow/cadence.getFieldValues -func getFieldValues(cadence.Composite) []cadence.Value +//go:linkname getCompositeFieldValues github.com/onflow/cadence.getCompositeFieldValues +func getCompositeFieldValues(cadence.Composite) []cadence.Value // encodeStruct encodes cadence.Struct as // language=CDDL @@ -1031,7 +1031,7 @@ func getFieldValues(cadence.Composite) []cadence.Value func (e *Encoder) encodeStruct(v cadence.Struct, tids ccfTypeIDByCadenceType) error { return e.encodeComposite( v.StructType, - getFieldValues(v), + getCompositeFieldValues(v), tids, ) } @@ -1042,7 +1042,7 @@ func (e *Encoder) encodeStruct(v cadence.Struct, tids ccfTypeIDByCadenceType) er func (e *Encoder) encodeResource(v cadence.Resource, tids ccfTypeIDByCadenceType) error { return e.encodeComposite( v.ResourceType, - getFieldValues(v), + getCompositeFieldValues(v), tids, ) } @@ -1053,7 +1053,7 @@ func (e *Encoder) encodeResource(v cadence.Resource, tids ccfTypeIDByCadenceType func (e *Encoder) encodeEvent(v cadence.Event, tids ccfTypeIDByCadenceType) error { return e.encodeComposite( v.EventType, - getFieldValues(v), + getCompositeFieldValues(v), tids, ) } @@ -1064,7 +1064,7 @@ func (e *Encoder) encodeEvent(v cadence.Event, tids ccfTypeIDByCadenceType) erro func (e *Encoder) encodeContract(v cadence.Contract, tids ccfTypeIDByCadenceType) error { return e.encodeComposite( v.ContractType, - getFieldValues(v), + getCompositeFieldValues(v), tids, ) } @@ -1075,7 +1075,7 @@ func (e *Encoder) encodeContract(v cadence.Contract, tids ccfTypeIDByCadenceType func (e *Encoder) encodeEnum(v cadence.Enum, tids ccfTypeIDByCadenceType) error { return e.encodeComposite( v.EnumType, - getFieldValues(v), + getCompositeFieldValues(v), tids, ) } @@ -1086,7 +1086,7 @@ func (e *Encoder) encodeEnum(v cadence.Enum, tids ccfTypeIDByCadenceType) error func (e *Encoder) encodeAttachment(v cadence.Attachment, tids ccfTypeIDByCadenceType) error { return e.encodeComposite( v.AttachmentType, - getFieldValues(v), + getCompositeFieldValues(v), tids, ) } @@ -1099,7 +1099,7 @@ func (e *Encoder) encodeComposite( fields []cadence.Value, tids ccfTypeIDByCadenceType, ) error { - staticFieldTypes := typ.CompositeFields() + staticFieldTypes := getCompositeTypeFields(typ) if len(staticFieldTypes) != len(fields) { panic(cadenceErrors.NewUnexpectedError( @@ -1564,7 +1564,7 @@ func (e *Encoder) encodeStructTypeValue(typ *cadence.StructType, visited ccfType return e.encodeCompositeTypeValue( typ.ID(), nil, - typ.Fields, + getCompositeTypeFields(typ), typ.Initializers, visited, rawTagNum, @@ -1582,7 +1582,7 @@ func (e *Encoder) encodeResourceTypeValue(typ *cadence.ResourceType, visited ccf return e.encodeCompositeTypeValue( typ.ID(), nil, - typ.Fields, + getCompositeTypeFields(typ), typ.Initializers, visited, rawTagNum, @@ -1600,7 +1600,7 @@ func (e *Encoder) encodeEventTypeValue(typ *cadence.EventType, visited ccfTypeID return e.encodeCompositeTypeValue( typ.ID(), nil, - typ.Fields, + getCompositeTypeFields(typ), [][]cadence.Parameter{typ.Initializer}, visited, rawTagNum, @@ -1618,7 +1618,7 @@ func (e *Encoder) encodeContractTypeValue(typ *cadence.ContractType, visited ccf return e.encodeCompositeTypeValue( typ.ID(), nil, - typ.Fields, + getCompositeTypeFields(typ), typ.Initializers, visited, rawTagNum, @@ -1636,7 +1636,7 @@ func (e *Encoder) encodeEnumTypeValue(typ *cadence.EnumType, visited ccfTypeIDBy return e.encodeCompositeTypeValue( typ.ID(), typ.RawType, - typ.Fields, + getCompositeTypeFields(typ), typ.Initializers, visited, rawTagNum, @@ -1654,7 +1654,7 @@ func (e *Encoder) encodeAttachmentTypeValue(typ *cadence.AttachmentType, visited return e.encodeCompositeTypeValue( typ.ID(), typ.BaseType, - typ.Fields, + getCompositeTypeFields(typ), typ.Initializers, visited, rawTagNum, @@ -1672,7 +1672,7 @@ func (e *Encoder) encodeStructInterfaceTypeValue(typ *cadence.StructInterfaceTyp return e.encodeCompositeTypeValue( typ.ID(), nil, - typ.Fields, + getInterfaceTypeFields(typ), typ.Initializers, visited, rawTagNum, @@ -1690,7 +1690,7 @@ func (e *Encoder) encodeResourceInterfaceTypeValue(typ *cadence.ResourceInterfac return e.encodeCompositeTypeValue( typ.ID(), nil, - typ.Fields, + getInterfaceTypeFields(typ), typ.Initializers, visited, rawTagNum, @@ -1708,7 +1708,7 @@ func (e *Encoder) encodeContractInterfaceTypeValue(typ *cadence.ContractInterfac return e.encodeCompositeTypeValue( typ.ID(), nil, - typ.Fields, + getInterfaceTypeFields(typ), typ.Initializers, visited, rawTagNum, @@ -2182,7 +2182,7 @@ func (e *Encoder) getSortedFieldIndex(t cadence.CompositeType) []int { // NOTE: bytewiseFieldIdentifierSorter doesn't sort fields in place. // bytewiseFieldIdentifierSorter.indexes is used as sorted fieldTypes // index. - sorter := newBytewiseFieldSorter(t.CompositeFields()) + sorter := newBytewiseFieldSorter(getCompositeTypeFields(t)) sort.Sort(sorter) diff --git a/encoding/ccf/encode_typedef.go b/encoding/ccf/encode_typedef.go index 50897e5731..844f1cc0d0 100644 --- a/encoding/ccf/encode_typedef.go +++ b/encoding/ccf/encode_typedef.go @@ -136,7 +136,7 @@ func (e *Encoder) encodeCompositeType(typ cadence.CompositeType, tids ccfTypeIDB // ] // ] func (e *Encoder) encodeCompositeTypeFields(typ cadence.CompositeType, tids ccfTypeIDByCadenceType) error { - fieldTypes := typ.CompositeFields() + fieldTypes := getCompositeTypeFields(typ) // Encode array head with number of fields. err := e.enc.EncodeArrayHead(uint64(len(fieldTypes))) diff --git a/encoding/ccf/service_events_test.go b/encoding/ccf/service_events_test.go index b5244db5fb..b6e7c3c74a 100644 --- a/encoding/ccf/service_events_test.go +++ b/encoding/ccf/service_events_test.go @@ -52,12 +52,15 @@ func TestEpochSetupEvent(t *testing.T) { evtType, ok := decodedValue.Type().(*cadence.EventType) require.True(t, ok) - require.Len(t, evtType.Fields, 9) + + typeFields := evtType.FieldsMappedByName() + + require.Len(t, typeFields, 9) // field 0: counter require.Equal(t, - "counter", - evtType.Fields[0].Identifier, + cadence.UInt64Type, + typeFields["counter"], ) require.Equal(t, cadence.UInt64(1), @@ -65,9 +68,9 @@ func TestEpochSetupEvent(t *testing.T) { ) // field 1: nodeInfo - require.Equal(t, - "nodeInfo", - evtType.Fields[1].Identifier, + require.IsType(t, + cadence.NewVariableSizedArrayType(newFlowIDTableStakingNodeInfoStructType()), + typeFields["nodeInfo"], ) nodeInfos, ok := fields["nodeInfo"].(cadence.Array) require.True(t, ok) @@ -75,8 +78,8 @@ func TestEpochSetupEvent(t *testing.T) { // field 2: firstView require.Equal(t, - "firstView", - evtType.Fields[2].Identifier, + cadence.UInt64Type, + typeFields["firstView"], ) require.Equal(t, cadence.UInt64(100), @@ -85,8 +88,8 @@ func TestEpochSetupEvent(t *testing.T) { // field 3: finalView require.Equal(t, - "finalView", - evtType.Fields[3].Identifier, + cadence.UInt64Type, + typeFields["finalView"], ) require.Equal(t, cadence.UInt64(200), @@ -95,8 +98,8 @@ func TestEpochSetupEvent(t *testing.T) { // field 4: collectorClusters require.Equal(t, - "collectorClusters", - evtType.Fields[4].Identifier, + cadence.NewVariableSizedArrayType(newFlowClusterQCClusterStructType()), + typeFields["collectorClusters"], ) epochCollectors, ok := fields["collectorClusters"].(cadence.Array) require.True(t, ok) @@ -104,8 +107,8 @@ func TestEpochSetupEvent(t *testing.T) { // field 5: randomSource require.Equal(t, - "randomSource", - evtType.Fields[5].Identifier, + cadence.StringType, + typeFields["randomSource"], ) require.Equal(t, cadence.String("01020304"), @@ -114,8 +117,8 @@ func TestEpochSetupEvent(t *testing.T) { // field 6: DKGPhase1FinalView require.Equal(t, - "DKGPhase1FinalView", - evtType.Fields[6].Identifier, + cadence.UInt64Type, + typeFields["DKGPhase1FinalView"], ) require.Equal(t, cadence.UInt64(150), @@ -124,8 +127,8 @@ func TestEpochSetupEvent(t *testing.T) { // field 7: DKGPhase2FinalView require.Equal(t, - "DKGPhase2FinalView", - evtType.Fields[7].Identifier, + cadence.UInt64Type, + typeFields["DKGPhase2FinalView"], ) require.Equal(t, cadence.UInt64(160), @@ -134,8 +137,8 @@ func TestEpochSetupEvent(t *testing.T) { // field 8: DKGPhase3FinalView require.Equal(t, - "DKGPhase3FinalView", - evtType.Fields[8].Identifier, + cadence.UInt64Type, + typeFields["DKGPhase3FinalView"], ) require.Equal(t, cadence.UInt64(170), @@ -156,12 +159,14 @@ func testNodeInfos(t *testing.T, nodeInfos cadence.Array) { nodeInfoType, ok := node0.Type().(*cadence.StructType) require.True(t, ok) - require.Len(t, nodeInfoType.Fields, 14) + + node0FieldTypes := nodeInfoType.FieldsMappedByName() + require.Len(t, node0FieldTypes, 14) // field 0: id require.Equal(t, - "id", - nodeInfoType.Fields[0].Identifier, + cadence.StringType, + node0FieldTypes["id"], ) require.Equal(t, cadence.String("0000000000000000000000000000000000000000000000000000000000000001"), @@ -170,8 +175,8 @@ func testNodeInfos(t *testing.T, nodeInfos cadence.Array) { // field 1: role require.Equal(t, - "role", - nodeInfoType.Fields[1].Identifier, + cadence.UInt8Type, + node0FieldTypes["role"], ) require.Equal(t, cadence.UInt8(1), @@ -180,8 +185,8 @@ func testNodeInfos(t *testing.T, nodeInfos cadence.Array) { // field 2: networkingAddress require.Equal(t, - "networkingAddress", - nodeInfoType.Fields[2].Identifier, + cadence.StringType, + node0FieldTypes["networkingAddress"], ) require.Equal(t, cadence.String("1.flow.com"), @@ -190,8 +195,8 @@ func testNodeInfos(t *testing.T, nodeInfos cadence.Array) { // field 3: networkingKey require.Equal(t, - "networkingKey", - nodeInfoType.Fields[3].Identifier, + cadence.StringType, + node0FieldTypes["networkingKey"], ) require.Equal(t, cadence.String("378dbf45d85c614feb10d8bd4f78f4b6ef8eec7d987b937e123255444657fb3da031f232a507e323df3a6f6b8f50339c51d188e80c0e7a92420945cc6ca893fc"), @@ -200,8 +205,8 @@ func testNodeInfos(t *testing.T, nodeInfos cadence.Array) { // field 4: stakingKey require.Equal(t, - "stakingKey", - nodeInfoType.Fields[4].Identifier, + cadence.StringType, + node0FieldTypes["stakingKey"], ) require.Equal(t, cadence.String("af4aade26d76bb2ab15dcc89adcef82a51f6f04b3cb5f4555214b40ec89813c7a5f95776ea4fe449de48166d0bbc59b919b7eabebaac9614cf6f9461fac257765415f4d8ef1376a2365ec9960121888ea5383d88a140c24c29962b0a14e4e4e7"), @@ -210,8 +215,8 @@ func testNodeInfos(t *testing.T, nodeInfos cadence.Array) { // field 5: tokensStaked require.Equal(t, - "tokensStaked", - nodeInfoType.Fields[5].Identifier, + cadence.UFix64Type, + node0FieldTypes["tokensStaked"], ) require.Equal(t, ufix64FromString("0.00000000"), @@ -220,8 +225,8 @@ func testNodeInfos(t *testing.T, nodeInfos cadence.Array) { // field 6: tokensCommitted require.Equal(t, - "tokensCommitted", - nodeInfoType.Fields[6].Identifier, + cadence.UFix64Type, + node0FieldTypes["tokensCommitted"], ) require.Equal(t, ufix64FromString("1350000.00000000"), @@ -230,8 +235,8 @@ func testNodeInfos(t *testing.T, nodeInfos cadence.Array) { // field 7: tokensUnstaking require.Equal(t, - "tokensUnstaking", - nodeInfoType.Fields[7].Identifier, + cadence.UFix64Type, + node0FieldTypes["tokensUnstaking"], ) require.Equal(t, ufix64FromString("0.00000000"), @@ -240,8 +245,8 @@ func testNodeInfos(t *testing.T, nodeInfos cadence.Array) { // field 8: tokensUnstaked require.Equal(t, - "tokensUnstaked", - nodeInfoType.Fields[8].Identifier, + cadence.UFix64Type, + node0FieldTypes["tokensUnstaked"], ) require.Equal(t, ufix64FromString("0.00000000"), @@ -250,8 +255,8 @@ func testNodeInfos(t *testing.T, nodeInfos cadence.Array) { // field 9: tokensRewarded require.Equal(t, - "tokensRewarded", - nodeInfoType.Fields[9].Identifier, + cadence.UFix64Type, + node0FieldTypes["tokensRewarded"], ) require.Equal(t, ufix64FromString("0.00000000"), @@ -259,28 +264,41 @@ func testNodeInfos(t *testing.T, nodeInfos cadence.Array) { ) // field 10: delegators - require.Equal(t, "delegators", nodeInfoType.Fields[10].Identifier) + require.Equal(t, + cadence.NewVariableSizedArrayType(cadence.UInt32Type), + node0FieldTypes["delegators"], + ) delegators, ok := node0Fields["delegators"].(cadence.Array) require.True(t, ok) require.Len(t, delegators.Values, 0) // field 11: delegatorIDCounter - require.Equal(t, "delegatorIDCounter", nodeInfoType.Fields[11].Identifier) + require.Equal( + t, + cadence.UInt32Type, + node0FieldTypes["delegatorIDCounter"], + ) require.Equal(t, cadence.UInt32(0), node0Fields["delegatorIDCounter"], ) // field 12: tokensRequestedToUnstake - require.Equal(t, "tokensRequestedToUnstake", nodeInfoType.Fields[12].Identifier) + require.Equal(t, + cadence.UFix64Type, + node0FieldTypes["tokensRequestedToUnstake"], + ) require.Equal(t, ufix64FromString("0.00000000"), node0Fields["tokensRequestedToUnstake"], ) // field 13: initialWeight - require.Equal(t, "initialWeight", nodeInfoType.Fields[13].Identifier) + require.Equal(t, + cadence.UInt64Type, + node0FieldTypes["initialWeight"], + ) require.Equal(t, cadence.UInt64(100), node0Fields["initialWeight"], @@ -295,10 +313,15 @@ func testNodeInfos(t *testing.T, nodeInfos cadence.Array) { nodeInfoType, ok = node6.Type().(*cadence.StructType) require.True(t, ok) - require.Len(t, nodeInfoType.Fields, 14) + + node6FieldTypes := nodeInfoType.FieldsMappedByName() + require.Len(t, node6FieldTypes, 14) // field 0: id - require.Equal(t, "id", nodeInfoType.Fields[0].Identifier) + require.Equal(t, + cadence.StringType, + node6FieldTypes["id"], + ) require.Equal(t, cadence.String("0000000000000000000000000000000000000000000000000000000000000031"), node6Fields["id"], @@ -306,8 +329,8 @@ func testNodeInfos(t *testing.T, nodeInfos cadence.Array) { // field 1: role require.Equal(t, - "role", - nodeInfoType.Fields[1].Identifier, + cadence.UInt8Type, + node6FieldTypes["role"], ) require.Equal(t, cadence.UInt8(4), @@ -316,8 +339,8 @@ func testNodeInfos(t *testing.T, nodeInfos cadence.Array) { // field 2: networkingAddress require.Equal(t, - "networkingAddress", - nodeInfoType.Fields[2].Identifier, + cadence.StringType, + node6FieldTypes["networkingAddress"], ) require.Equal(t, cadence.String("31.flow.com"), @@ -326,8 +349,8 @@ func testNodeInfos(t *testing.T, nodeInfos cadence.Array) { // field 3: networkingKey require.Equal(t, - "networkingKey", - nodeInfoType.Fields[3].Identifier, + cadence.StringType, + node6FieldTypes["networkingKey"], ) require.Equal(t, cadence.String("697241208dcc9142b6f53064adc8ff1c95760c68beb2ba083c1d005d40181fd7a1b113274e0163c053a3addd47cd528ec6a1f190cf465aac87c415feaae011ae"), @@ -336,8 +359,8 @@ func testNodeInfos(t *testing.T, nodeInfos cadence.Array) { // field 4: stakingKey require.Equal(t, - "stakingKey", - nodeInfoType.Fields[4].Identifier, + cadence.StringType, + node6FieldTypes["stakingKey"], ) require.Equal(t, cadence.String("b1f97d0a06020eca97352e1adde72270ee713c7daf58da7e74bf72235321048b4841bdfc28227964bf18e371e266e32107d238358848bcc5d0977a0db4bda0b4c33d3874ff991e595e0f537c7b87b4ddce92038ebc7b295c9ea20a1492302aa7"), @@ -346,8 +369,8 @@ func testNodeInfos(t *testing.T, nodeInfos cadence.Array) { // field 5: tokensStaked require.Equal(t, - "tokensStaked", - nodeInfoType.Fields[5].Identifier, + cadence.UFix64Type, + node6FieldTypes["tokensStaked"], ) require.Equal(t, ufix64FromString("0.00000000"), @@ -356,8 +379,8 @@ func testNodeInfos(t *testing.T, nodeInfos cadence.Array) { // field 6: tokensCommitted require.Equal(t, - "tokensCommitted", - nodeInfoType.Fields[6].Identifier, + cadence.UFix64Type, + node6FieldTypes["tokensCommitted"], ) require.Equal(t, ufix64FromString("1350000.00000000"), @@ -366,8 +389,8 @@ func testNodeInfos(t *testing.T, nodeInfos cadence.Array) { // field 7: tokensUnstaking require.Equal(t, - "tokensUnstaking", - nodeInfoType.Fields[7].Identifier, + cadence.UFix64Type, + node6FieldTypes["tokensUnstaking"], ) require.Equal(t, ufix64FromString("0.00000000"), @@ -376,8 +399,8 @@ func testNodeInfos(t *testing.T, nodeInfos cadence.Array) { // field 8: tokensUnstaked require.Equal(t, - "tokensUnstaked", - nodeInfoType.Fields[8].Identifier, + cadence.UFix64Type, + node6FieldTypes["tokensUnstaked"], ) require.Equal(t, ufix64FromString("0.00000000"), @@ -386,8 +409,8 @@ func testNodeInfos(t *testing.T, nodeInfos cadence.Array) { // field 9: tokensRewarded require.Equal(t, - "tokensRewarded", - nodeInfoType.Fields[9].Identifier, + cadence.UFix64Type, + node6FieldTypes["tokensRewarded"], ) require.Equal(t, ufix64FromString("0.00000000"), @@ -396,8 +419,8 @@ func testNodeInfos(t *testing.T, nodeInfos cadence.Array) { // field 10: delegators require.Equal(t, - "delegators", - nodeInfoType.Fields[10].Identifier, + cadence.NewVariableSizedArrayType(cadence.UInt32Type), + node6FieldTypes["delegators"], ) delegators, ok = node6Fields["delegators"].(cadence.Array) require.True(t, ok) @@ -405,8 +428,8 @@ func testNodeInfos(t *testing.T, nodeInfos cadence.Array) { // field 11: delegatorIDCounter require.Equal(t, - "delegatorIDCounter", - nodeInfoType.Fields[11].Identifier, + cadence.UInt32Type, + node6FieldTypes["delegatorIDCounter"], ) require.Equal(t, cadence.UInt32(0), @@ -415,8 +438,8 @@ func testNodeInfos(t *testing.T, nodeInfos cadence.Array) { // field 12: tokensRequestedToUnstake require.Equal(t, - "tokensRequestedToUnstake", - nodeInfoType.Fields[12].Identifier, + cadence.UFix64Type, + node6FieldTypes["tokensRequestedToUnstake"], ) require.Equal(t, ufix64FromString("0.00000000"), @@ -425,8 +448,8 @@ func testNodeInfos(t *testing.T, nodeInfos cadence.Array) { // field 13: initialWeight require.Equal(t, - "initialWeight", - nodeInfoType.Fields[13].Identifier, + cadence.UInt64Type, + node6FieldTypes["initialWeight"], ) require.Equal(t, cadence.UInt64(100), @@ -441,15 +464,17 @@ func testEpochCollectors(t *testing.T, collectors cadence.Array) { collector0, ok := collectors.Values[0].(cadence.Struct) require.True(t, ok) - collectorType, ok := collector0.Type().(*cadence.StructType) + collector0Type, ok := collector0.Type().(*cadence.StructType) require.True(t, ok) collector0Fields := cadence.FieldsMappedByName(collector0) + collector0FieldTypes := collector0Type.FieldsMappedByName() + // field 0: index require.Equal(t, - "index", - collectorType.Fields[0].Identifier, + cadence.UInt16Type, + collector0FieldTypes["index"], ) require.Equal(t, cadence.UInt16(0), @@ -458,8 +483,8 @@ func testEpochCollectors(t *testing.T, collectors cadence.Array) { // field 1: nodeWeights require.Equal(t, - "nodeWeights", - collectorType.Fields[1].Identifier, + cadence.NewDictionaryType(cadence.StringType, cadence.UInt64Type), + collector0FieldTypes["nodeWeights"], ) weights, ok := collector0Fields["nodeWeights"].(cadence.Dictionary) require.True(t, ok) @@ -482,8 +507,8 @@ func testEpochCollectors(t *testing.T, collectors cadence.Array) { // field 2: totalWeight require.Equal(t, - "totalWeight", - collectorType.Fields[2].Identifier, + cadence.UInt64Type, + collector0FieldTypes["totalWeight"], ) require.Equal(t, cadence.NewUInt64(100), @@ -492,8 +517,8 @@ func testEpochCollectors(t *testing.T, collectors cadence.Array) { // field 3: generatedVotes require.Equal(t, - "generatedVotes", - collectorType.Fields[3].Identifier, + cadence.NewDictionaryType(cadence.StringType, newFlowClusterQCVoteStructType()), + collector0FieldTypes["generatedVotes"], ) generatedVotes, ok := collector0Fields["generatedVotes"].(cadence.Dictionary) require.True(t, ok) @@ -501,8 +526,8 @@ func testEpochCollectors(t *testing.T, collectors cadence.Array) { // field 4: uniqueVoteMessageTotalWeights require.Equal(t, - "uniqueVoteMessageTotalWeights", - collectorType.Fields[4].Identifier, + cadence.NewDictionaryType(cadence.StringType, cadence.UInt64Type), + collector0FieldTypes["uniqueVoteMessageTotalWeights"], ) uniqueVoteMessageTotalWeights, ok := collector0Fields["uniqueVoteMessageTotalWeights"].(cadence.Dictionary) require.True(t, ok) @@ -512,15 +537,16 @@ func testEpochCollectors(t *testing.T, collectors cadence.Array) { collector1, ok := collectors.Values[1].(cadence.Struct) require.True(t, ok) - collectorType, ok = collector1.Type().(*cadence.StructType) + collector1Type, ok := collector1.Type().(*cadence.StructType) require.True(t, ok) - collector1Fields := cadence.FieldsMappedByName(collector1) + collector1Fields := collector1.FieldsMappedByName() + collector1FieldTypes := collector1Type.FieldsMappedByName() // field 0: index require.Equal(t, - "index", - collectorType.Fields[0].Identifier, + cadence.UInt16Type, + collector1FieldTypes["index"], ) require.Equal(t, cadence.UInt16(1), @@ -529,8 +555,8 @@ func testEpochCollectors(t *testing.T, collectors cadence.Array) { // field 1: nodeWeights require.Equal(t, - "nodeWeights", - collectorType.Fields[1].Identifier, + cadence.NewDictionaryType(cadence.StringType, cadence.UInt64Type), + collector1FieldTypes["nodeWeights"], ) weights, ok = collector1Fields["nodeWeights"].(cadence.Dictionary) require.True(t, ok) @@ -552,8 +578,8 @@ func testEpochCollectors(t *testing.T, collectors cadence.Array) { // field 2: totalWeight require.Equal(t, - "totalWeight", - collectorType.Fields[2].Identifier, + cadence.UInt64Type, + collector1FieldTypes["totalWeight"], ) require.Equal(t, cadence.NewUInt64(0), @@ -562,8 +588,8 @@ func testEpochCollectors(t *testing.T, collectors cadence.Array) { // field 3: generatedVotes require.Equal(t, - "generatedVotes", - collectorType.Fields[3].Identifier, + cadence.NewDictionaryType(cadence.StringType, newFlowClusterQCVoteStructType()), + collector1FieldTypes["generatedVotes"], ) generatedVotes, ok = collector1Fields["generatedVotes"].(cadence.Dictionary) require.True(t, ok) @@ -571,8 +597,8 @@ func testEpochCollectors(t *testing.T, collectors cadence.Array) { // field 4: uniqueVoteMessageTotalWeights require.Equal(t, - "uniqueVoteMessageTotalWeights", - collectorType.Fields[4].Identifier, + cadence.NewDictionaryType(cadence.StringType, cadence.UInt64Type), + collector1FieldTypes["uniqueVoteMessageTotalWeights"], ) uniqueVoteMessageTotalWeights, ok = collector1Fields["uniqueVoteMessageTotalWeights"].(cadence.Dictionary) require.True(t, ok) @@ -603,12 +629,14 @@ func TestEpochCommitEvent(t *testing.T) { evtType, ok := decodedValue.Type().(*cadence.EventType) require.True(t, ok) - require.Len(t, evtType.Fields, 3) + + fieldTypes := evtType.FieldsMappedByName() + require.Len(t, fieldTypes, 3) // field 0: counter require.Equal(t, - "counter", - evtType.Fields[0].Identifier, + cadence.UInt64Type, + fieldTypes["counter"], ) require.Equal(t, cadence.UInt64(1), @@ -617,8 +645,8 @@ func TestEpochCommitEvent(t *testing.T) { // field 1: clusterQCs require.Equal(t, - "clusterQCs", - evtType.Fields[1].Identifier, + cadence.NewVariableSizedArrayType(newFlowClusterQCClusterQCStructType()), + fieldTypes["clusterQCs"], ) clusterQCs, ok := fields["clusterQCs"].(cadence.Array) require.True(t, ok) @@ -626,8 +654,8 @@ func TestEpochCommitEvent(t *testing.T) { // field 2: dkgPubKeys require.Equal(t, - "dkgPubKeys", - evtType.Fields[2].Identifier, + cadence.NewVariableSizedArrayType(cadence.StringType), + fieldTypes["dkgPubKeys"], ) dkgPubKeys, ok := fields["dkgPubKeys"].(cadence.Array) require.True(t, ok) @@ -652,10 +680,14 @@ func testClusterQCs(t *testing.T, clusterQCs cadence.Array) { clusterQCType, ok := clusterQC0.Type().(*cadence.StructType) require.True(t, ok) - clusterQC0Fields := cadence.FieldsMappedByName(clusterQC0) + clusterQC0Fields := clusterQC0.FieldsMappedByName() + clusterQC0FieldTypes := clusterQCType.FieldsMappedByName() // field 0: index - require.Equal(t, "index", clusterQCType.Fields[0].Identifier) + require.Equal(t, + cadence.UInt16Type, + clusterQC0FieldTypes["index"], + ) require.Equal(t, cadence.UInt16(0), clusterQC0Fields["index"], @@ -663,8 +695,8 @@ func testClusterQCs(t *testing.T, clusterQCs cadence.Array) { // field 1: voteSignatures require.Equal(t, - "voteSignatures", - clusterQCType.Fields[1].Identifier, + cadence.NewVariableSizedArrayType(cadence.StringType), + clusterQC0FieldTypes["voteSignatures"], ) sigs, ok := clusterQC0Fields["voteSignatures"].(cadence.Array) require.True(t, ok) @@ -678,8 +710,8 @@ func testClusterQCs(t *testing.T, clusterQCs cadence.Array) { // field 2: voteMessage require.Equal(t, - "voteMessage", - clusterQCType.Fields[2].Identifier, + cadence.StringType, + clusterQC0FieldTypes["voteMessage"], ) require.Equal(t, cadence.String("irrelevant_for_these_purposes"), @@ -688,8 +720,8 @@ func testClusterQCs(t *testing.T, clusterQCs cadence.Array) { // field 3: voterIDs require.Equal(t, - "voterIDs", - clusterQCType.Fields[3].Identifier, + cadence.NewVariableSizedArrayType(cadence.StringType), + clusterQC0FieldTypes["voterIDs"], ) ids, ok := clusterQC0Fields["voterIDs"].(cadence.Array) require.True(t, ok) @@ -706,15 +738,16 @@ func testClusterQCs(t *testing.T, clusterQCs cadence.Array) { clusterQC1, ok := clusterQCs.Values[1].(cadence.Struct) require.True(t, ok) - clusterQCType, ok = clusterQC1.Type().(*cadence.StructType) + clusterQC1Type, ok := clusterQC1.Type().(*cadence.StructType) require.True(t, ok) - clusterQC1Fields := cadence.FieldsMappedByName(clusterQC1) + clusterQC1Fields := clusterQC1.FieldsMappedByName() + clusterQC1FieldTypes := clusterQC1Type.FieldsMappedByName() // field 0: index require.Equal(t, - "index", - clusterQCType.Fields[0].Identifier, + cadence.UInt16Type, + clusterQC1FieldTypes["index"], ) require.Equal(t, cadence.UInt16(1), @@ -723,8 +756,8 @@ func testClusterQCs(t *testing.T, clusterQCs cadence.Array) { // field 1: voteSignatures require.Equal(t, - "voteSignatures", - clusterQCType.Fields[1].Identifier, + cadence.NewVariableSizedArrayType(cadence.StringType), + clusterQC1FieldTypes["voteSignatures"], ) sigs, ok = clusterQC1Fields["voteSignatures"].(cadence.Array) require.True(t, ok) @@ -738,8 +771,8 @@ func testClusterQCs(t *testing.T, clusterQCs cadence.Array) { // field 2: voteMessage require.Equal(t, - "voteMessage", - clusterQCType.Fields[2].Identifier, + cadence.StringType, + clusterQC1FieldTypes["voteMessage"], ) require.Equal(t, cadence.String("irrelevant_for_these_purposes"), @@ -748,8 +781,8 @@ func testClusterQCs(t *testing.T, clusterQCs cadence.Array) { // field 3: voterIDs require.Equal(t, - "voterIDs", - clusterQCType.Fields[3].Identifier, + cadence.NewVariableSizedArrayType(cadence.StringType), + clusterQC1FieldTypes["voterIDs"], ) ids, ok = clusterQC1Fields["voterIDs"].(cadence.Array) require.True(t, ok) @@ -786,12 +819,14 @@ func TestVersionBeaconEvent(t *testing.T) { evtType, ok := decodedValue.Type().(*cadence.EventType) require.True(t, ok) - require.Len(t, evtType.Fields, 2) + + fieldTypes := evtType.FieldsMappedByName() + require.Len(t, fieldTypes, 2) // field 0: versionBoundaries require.Equal(t, - "versionBoundaries", - evtType.Fields[0].Identifier, + cadence.NewVariableSizedArrayType(newNodeVersionBeaconVersionBoundaryStructType()), + fieldTypes["versionBoundaries"], ) versionBoundaries, ok := fields["versionBoundaries"].(cadence.Array) require.True(t, ok) @@ -799,8 +834,8 @@ func TestVersionBeaconEvent(t *testing.T) { // field 1: sequence require.Equal(t, - "sequence", - evtType.Fields[1].Identifier, + cadence.UInt64Type, + fieldTypes["sequence"], ) require.Equal(t, cadence.UInt64(5), @@ -819,12 +854,14 @@ func testVersionBoundaries(t *testing.T, versionBoundaries cadence.Array) { boundaryType, ok := boundary.Type().(*cadence.StructType) require.True(t, ok) - require.Len(t, boundaryType.Fields, 2) + + fieldTypes := boundaryType.FieldsMappedByName() + require.Len(t, fieldTypes, 2) // field 0: blockHeight require.Equal(t, - "blockHeight", - boundaryType.Fields[0].Identifier, + cadence.UInt64Type, + fieldTypes["blockHeight"], ) require.Equal(t, cadence.UInt64(44), @@ -833,8 +870,8 @@ func testVersionBoundaries(t *testing.T, versionBoundaries cadence.Array) { // field 1: version require.Equal(t, - "version", - boundaryType.Fields[1].Identifier, + newNodeVersionBeaconSemverStructType(), + fieldTypes["version"], ) version, ok := fields["version"].(cadence.Struct) require.True(t, ok) @@ -848,12 +885,14 @@ func testSemver(t *testing.T, version cadence.Struct) { semverType, ok := version.Type().(*cadence.StructType) require.True(t, ok) - require.Len(t, semverType.Fields, 4) + + fieldTypes := semverType.FieldsMappedByName() + require.Len(t, fieldTypes, 4) // field 0: preRelease require.Equal(t, - "preRelease", - semverType.Fields[0].Identifier, + cadence.NewOptionalType(cadence.StringType), + fieldTypes["preRelease"], ) require.Equal(t, cadence.NewOptional(cadence.String("")), @@ -862,8 +901,8 @@ func testSemver(t *testing.T, version cadence.Struct) { // field 1: major require.Equal(t, - "major", - semverType.Fields[1].Identifier, + cadence.UInt8Type, + fieldTypes["major"], ) require.Equal(t, cadence.UInt8(2), @@ -872,8 +911,8 @@ func testSemver(t *testing.T, version cadence.Struct) { // field 2: minor require.Equal(t, - "minor", - semverType.Fields[2].Identifier, + cadence.UInt8Type, + fieldTypes["minor"], ) require.Equal(t, cadence.UInt8(13), @@ -882,8 +921,8 @@ func testSemver(t *testing.T, version cadence.Struct) { // field 3: patch require.Equal(t, - "patch", - semverType.Fields[3].Identifier, + cadence.UInt8Type, + fieldTypes["patch"], ) require.Equal(t, cadence.UInt8(7), @@ -1416,10 +1455,10 @@ func newFlowClusterQCVoteStructType() cadence.Type { address, _ := common.HexToAddress("01cf0e2f2f715450") location := common.NewAddressLocation(nil, address, "FlowClusterQC") - return &cadence.StructType{ - Location: location, - QualifiedIdentifier: "FlowClusterQC.Vote", - Fields: []cadence.Field{ + return cadence.NewStructType( + location, + "FlowClusterQC.Vote", + []cadence.Field{ { Identifier: "nodeID", Type: cadence.StringType, @@ -1441,7 +1480,8 @@ func newFlowClusterQCVoteStructType() cadence.Type { Type: cadence.UInt64Type, }, }, - } + nil, + ) } func newFlowClusterQCClusterStructType() *cadence.StructType { @@ -1451,10 +1491,10 @@ func newFlowClusterQCClusterStructType() *cadence.StructType { address, _ := common.HexToAddress("01cf0e2f2f715450") location := common.NewAddressLocation(nil, address, "FlowClusterQC") - return &cadence.StructType{ - Location: location, - QualifiedIdentifier: "FlowClusterQC.Cluster", - Fields: []cadence.Field{ + return cadence.NewStructType( + location, + "FlowClusterQC.Cluster", + []cadence.Field{ { Identifier: "index", Type: cadence.UInt16Type, @@ -1476,7 +1516,8 @@ func newFlowClusterQCClusterStructType() *cadence.StructType { Type: cadence.NewDictionaryType(cadence.StringType, cadence.UInt64Type), }, }, - } + nil, + ) } func newFlowIDTableStakingNodeInfoStructType() *cadence.StructType { @@ -1486,10 +1527,10 @@ func newFlowIDTableStakingNodeInfoStructType() *cadence.StructType { address, _ := common.HexToAddress("01cf0e2f2f715450") location := common.NewAddressLocation(nil, address, "FlowIDTableStaking") - return &cadence.StructType{ - Location: location, - QualifiedIdentifier: "FlowIDTableStaking.NodeInfo", - Fields: []cadence.Field{ + return cadence.NewStructType( + location, + "FlowIDTableStaking.NodeInfo", + []cadence.Field{ { Identifier: "id", Type: cadence.StringType, @@ -1547,7 +1588,8 @@ func newFlowIDTableStakingNodeInfoStructType() *cadence.StructType { Type: cadence.UInt64Type, }, }, - } + nil, + ) } func newFlowEpochEpochSetupEventType() *cadence.EventType { @@ -1557,10 +1599,10 @@ func newFlowEpochEpochSetupEventType() *cadence.EventType { address, _ := common.HexToAddress("01cf0e2f2f715450") location := common.NewAddressLocation(nil, address, "FlowEpoch") - return &cadence.EventType{ - Location: location, - QualifiedIdentifier: "FlowEpoch.EpochSetup", - Fields: []cadence.Field{ + return cadence.NewEventType( + location, + "FlowEpoch.EpochSetup", + []cadence.Field{ { Identifier: "counter", Type: cadence.UInt64Type, @@ -1598,7 +1640,8 @@ func newFlowEpochEpochSetupEventType() *cadence.EventType { Type: cadence.UInt64Type, }, }, - } + nil, + ) } func newFlowEpochEpochCommittedEventType() *cadence.EventType { @@ -1608,10 +1651,10 @@ func newFlowEpochEpochCommittedEventType() *cadence.EventType { address, _ := common.HexToAddress("01cf0e2f2f715450") location := common.NewAddressLocation(nil, address, "FlowEpoch") - return &cadence.EventType{ - Location: location, - QualifiedIdentifier: "FlowEpoch.EpochCommitted", - Fields: []cadence.Field{ + return cadence.NewEventType( + location, + "FlowEpoch.EpochCommitted", + []cadence.Field{ { Identifier: "counter", Type: cadence.UInt64Type, @@ -1625,7 +1668,8 @@ func newFlowEpochEpochCommittedEventType() *cadence.EventType { Type: cadence.NewVariableSizedArrayType(cadence.StringType), }, }, - } + nil, + ) } func newFlowClusterQCClusterQCStructType() *cadence.StructType { @@ -1635,10 +1679,10 @@ func newFlowClusterQCClusterQCStructType() *cadence.StructType { address, _ := common.HexToAddress("01cf0e2f2f715450") location := common.NewAddressLocation(nil, address, "FlowClusterQC") - return &cadence.StructType{ - Location: location, - QualifiedIdentifier: "FlowClusterQC.ClusterQC", - Fields: []cadence.Field{ + return cadence.NewStructType( + location, + "FlowClusterQC.ClusterQC", + []cadence.Field{ { Identifier: "index", Type: cadence.UInt16Type, @@ -1656,7 +1700,8 @@ func newFlowClusterQCClusterQCStructType() *cadence.StructType { Type: cadence.NewVariableSizedArrayType(cadence.StringType), }, }, - } + nil, + ) } func newNodeVersionBeaconVersionBeaconEventType() *cadence.EventType { @@ -1666,10 +1711,10 @@ func newNodeVersionBeaconVersionBeaconEventType() *cadence.EventType { address, _ := common.HexToAddress("01cf0e2f2f715450") location := common.NewAddressLocation(nil, address, "NodeVersionBeacon") - return &cadence.EventType{ - Location: location, - QualifiedIdentifier: "NodeVersionBeacon.VersionBeacon", - Fields: []cadence.Field{ + return cadence.NewEventType( + location, + "NodeVersionBeacon.VersionBeacon", + []cadence.Field{ { Identifier: "versionBoundaries", Type: cadence.NewVariableSizedArrayType(newNodeVersionBeaconVersionBoundaryStructType()), @@ -1679,7 +1724,8 @@ func newNodeVersionBeaconVersionBeaconEventType() *cadence.EventType { Type: cadence.UInt64Type, }, }, - } + nil, + ) } func newNodeVersionBeaconVersionBoundaryStructType() *cadence.StructType { @@ -1689,10 +1735,10 @@ func newNodeVersionBeaconVersionBoundaryStructType() *cadence.StructType { address, _ := common.HexToAddress("01cf0e2f2f715450") location := common.NewAddressLocation(nil, address, "NodeVersionBeacon") - return &cadence.StructType{ - Location: location, - QualifiedIdentifier: "NodeVersionBeacon.VersionBoundary", - Fields: []cadence.Field{ + return cadence.NewStructType( + location, + "NodeVersionBeacon.VersionBoundary", + []cadence.Field{ { Identifier: "blockHeight", Type: cadence.UInt64Type, @@ -1702,7 +1748,8 @@ func newNodeVersionBeaconVersionBoundaryStructType() *cadence.StructType { Type: newNodeVersionBeaconSemverStructType(), }, }, - } + nil, + ) } func newNodeVersionBeaconSemverStructType() *cadence.StructType { @@ -1712,10 +1759,10 @@ func newNodeVersionBeaconSemverStructType() *cadence.StructType { address, _ := common.HexToAddress("01cf0e2f2f715450") location := common.NewAddressLocation(nil, address, "NodeVersionBeacon") - return &cadence.StructType{ - Location: location, - QualifiedIdentifier: "NodeVersionBeacon.Semver", - Fields: []cadence.Field{ + return cadence.NewStructType( + location, + "NodeVersionBeacon.Semver", + []cadence.Field{ { Identifier: "preRelease", Type: cadence.NewOptionalType(cadence.StringType), @@ -1733,7 +1780,8 @@ func newNodeVersionBeaconSemverStructType() *cadence.StructType { Type: cadence.UInt8Type, }, }, - } + nil, + ) } func ufix64FromString(s string) cadence.UFix64 { diff --git a/encoding/ccf/traverse_value.go b/encoding/ccf/traverse_value.go index 3b1208b601..78c8ca74ef 100644 --- a/encoding/ccf/traverse_value.go +++ b/encoding/ccf/traverse_value.go @@ -97,27 +97,27 @@ func (ct *compositeTypes) traverseValue(v cadence.Value) { } case cadence.Struct: - for _, field := range getFieldValues(v) { + for _, field := range getCompositeFieldValues(v) { ct.traverseValue(field) } case cadence.Resource: - for _, field := range getFieldValues(v) { + for _, field := range getCompositeFieldValues(v) { ct.traverseValue(field) } case cadence.Event: - for _, field := range getFieldValues(v) { + for _, field := range getCompositeFieldValues(v) { ct.traverseValue(field) } case cadence.Contract: - for _, field := range getFieldValues(v) { + for _, field := range getCompositeFieldValues(v) { ct.traverseValue(field) } case cadence.Attachment: - for _, field := range getFieldValues(v) { + for _, field := range getCompositeFieldValues(v) { ct.traverseValue(field) } } @@ -163,7 +163,7 @@ func (ct *compositeTypes) traverseType(typ cadence.Type) (checkRuntimeType bool) } check := false - fields := typ.CompositeFields() + fields := getCompositeTypeFields(typ) for _, field := range fields { checkField := ct.traverseType(field.Type) check = check || checkField diff --git a/encoding/json/decode.go b/encoding/json/decode.go index 9e71309baa..1b7c44f60e 100644 --- a/encoding/json/decode.go +++ b/encoding/json/decode.go @@ -25,6 +25,7 @@ import ( "io" "math/big" "strconv" + _ "unsafe" "github.com/onflow/cadence" "github.com/onflow/cadence/runtime/common" @@ -1076,6 +1077,12 @@ func (d *Decoder) decodeAuthorization(authorizationJSON any) cadence.Authorizati panic(errors.NewDefaultUserError("invalid kind in authorization: %s", kind)) } +//go:linkname setCompositeTypeFields github.com/onflow/cadence.setCompositeTypeFields +func setCompositeTypeFields(cadence.CompositeType, []cadence.Field) + +//go:linkname setInterfaceTypeFields github.com/onflow/cadence.setInterfaceTypeFields +func setInterfaceTypeFields(cadence.InterfaceType, []cadence.Field) + func (d *Decoder) decodeNominalType( obj jsonObject, kind, typeID string, @@ -1185,9 +1192,9 @@ func (d *Decoder) decodeNominalType( switch { case compositeType != nil: - compositeType.SetCompositeFields(fields) + setCompositeTypeFields(compositeType, fields) case interfaceType != nil: - interfaceType.SetInterfaceFields(fields) + setInterfaceTypeFields(interfaceType, fields) } return result diff --git a/encoding/json/encode.go b/encoding/json/encode.go index ebe13a029b..f3512868c2 100644 --- a/encoding/json/encode.go +++ b/encoding/json/encode.go @@ -604,15 +604,21 @@ func prepareInclusiveRange(v *cadence.InclusiveRange) jsonValue { } } -//go:linkname getFieldValues github.com/onflow/cadence.getFieldValues -func getFieldValues(cadence.Composite) []cadence.Value +//go:linkname getCompositeFieldValues github.com/onflow/cadence.getCompositeFieldValues +func getCompositeFieldValues(cadence.Composite) []cadence.Value + +//go:linkname getCompositeTypeFields github.com/onflow/cadence.getCompositeTypeFields +func getCompositeTypeFields(cadence.CompositeType) []cadence.Field + +//go:linkname getInterfaceTypeFields github.com/onflow/cadence.getInterfaceTypeFields +func getInterfaceTypeFields(cadence.InterfaceType) []cadence.Field func prepareStruct(v cadence.Struct) jsonValue { return prepareComposite( structTypeStr, v.StructType.ID(), - v.StructType.Fields, - getFieldValues(v), + getCompositeTypeFields(v.StructType), + getCompositeFieldValues(v), ) } @@ -620,8 +626,8 @@ func prepareResource(v cadence.Resource) jsonValue { return prepareComposite( resourceTypeStr, v.ResourceType.ID(), - v.ResourceType.Fields, - getFieldValues(v), + getCompositeTypeFields(v.ResourceType), + getCompositeFieldValues(v), ) } @@ -629,8 +635,8 @@ func prepareEvent(v cadence.Event) jsonValue { return prepareComposite( eventTypeStr, v.EventType.ID(), - v.EventType.Fields, - getFieldValues(v), + getCompositeTypeFields(v.EventType), + getCompositeFieldValues(v), ) } @@ -638,8 +644,8 @@ func prepareContract(v cadence.Contract) jsonValue { return prepareComposite( contractTypeStr, v.ContractType.ID(), - v.ContractType.Fields, - getFieldValues(v), + getCompositeTypeFields(v.ContractType), + getCompositeFieldValues(v), ) } @@ -647,8 +653,8 @@ func prepareEnum(v cadence.Enum) jsonValue { return prepareComposite( enumTypeStr, v.EnumType.ID(), - v.EnumType.Fields, - getFieldValues(v), + getCompositeTypeFields(v.EnumType), + getCompositeFieldValues(v), ) } @@ -656,13 +662,13 @@ func prepareAttachment(v cadence.Attachment) jsonValue { return prepareComposite( attachmentTypeStr, v.AttachmentType.ID(), - v.AttachmentType.Fields, - getFieldValues(v), + getCompositeTypeFields(v.AttachmentType), + getCompositeFieldValues(v), ) } func prepareComposite(kind, id string, fieldTypes []cadence.Field, fields []cadence.Value) jsonValue { - // Ensure there are _at least _ as many field values as field types. + // Ensure there are _at least_ as many field values as field types. // There might be more field values in the case of attachments. if len(fields) < len(fieldTypes) { panic(fmt.Errorf( @@ -860,7 +866,7 @@ func PrepareType(typ cadence.Type, results TypePreparationResults) jsonValue { Kind: "Struct", Type: "", TypeID: string(common.NewTypeIDFromQualifiedName(nil, typ.Location, typ.QualifiedIdentifier)), - Fields: prepareFields(typ.Fields, results), + Fields: prepareFields(getCompositeTypeFields(typ), results), Initializers: prepareInitializers(typ.Initializers, results), } case *cadence.ResourceType: @@ -868,7 +874,7 @@ func PrepareType(typ cadence.Type, results TypePreparationResults) jsonValue { Kind: "Resource", Type: "", TypeID: string(common.NewTypeIDFromQualifiedName(nil, typ.Location, typ.QualifiedIdentifier)), - Fields: prepareFields(typ.Fields, results), + Fields: prepareFields(getCompositeTypeFields(typ), results), Initializers: prepareInitializers(typ.Initializers, results), } case *cadence.EventType: @@ -876,7 +882,7 @@ func PrepareType(typ cadence.Type, results TypePreparationResults) jsonValue { Kind: "Event", Type: "", TypeID: string(common.NewTypeIDFromQualifiedName(nil, typ.Location, typ.QualifiedIdentifier)), - Fields: prepareFields(typ.Fields, results), + Fields: prepareFields(getCompositeTypeFields(typ), results), Initializers: [][]jsonParameterType{prepareParameters(typ.Initializer, results)}, } case *cadence.ContractType: @@ -884,7 +890,7 @@ func PrepareType(typ cadence.Type, results TypePreparationResults) jsonValue { Kind: "Contract", Type: "", TypeID: string(common.NewTypeIDFromQualifiedName(nil, typ.Location, typ.QualifiedIdentifier)), - Fields: prepareFields(typ.Fields, results), + Fields: prepareFields(getCompositeTypeFields(typ), results), Initializers: prepareInitializers(typ.Initializers, results), } case *cadence.StructInterfaceType: @@ -892,7 +898,7 @@ func PrepareType(typ cadence.Type, results TypePreparationResults) jsonValue { Kind: "StructInterface", Type: "", TypeID: string(common.NewTypeIDFromQualifiedName(nil, typ.Location, typ.QualifiedIdentifier)), - Fields: prepareFields(typ.Fields, results), + Fields: prepareFields(getInterfaceTypeFields(typ), results), Initializers: prepareInitializers(typ.Initializers, results), } case *cadence.ResourceInterfaceType: @@ -900,7 +906,7 @@ func PrepareType(typ cadence.Type, results TypePreparationResults) jsonValue { Kind: "ResourceInterface", Type: "", TypeID: string(common.NewTypeIDFromQualifiedName(nil, typ.Location, typ.QualifiedIdentifier)), - Fields: prepareFields(typ.Fields, results), + Fields: prepareFields(getInterfaceTypeFields(typ), results), Initializers: prepareInitializers(typ.Initializers, results), } case *cadence.ContractInterfaceType: @@ -908,7 +914,7 @@ func PrepareType(typ cadence.Type, results TypePreparationResults) jsonValue { Kind: "ContractInterface", Type: "", TypeID: string(common.NewTypeIDFromQualifiedName(nil, typ.Location, typ.QualifiedIdentifier)), - Fields: prepareFields(typ.Fields, results), + Fields: prepareFields(getInterfaceTypeFields(typ), results), Initializers: prepareInitializers(typ.Initializers, results), } case *cadence.FunctionType: @@ -948,7 +954,7 @@ func PrepareType(typ cadence.Type, results TypePreparationResults) jsonValue { return jsonNominalType{ Kind: "Enum", TypeID: string(common.NewTypeIDFromQualifiedName(nil, typ.Location, typ.QualifiedIdentifier)), - Fields: prepareFields(typ.Fields, results), + Fields: prepareFields(getCompositeTypeFields(typ), results), Initializers: prepareInitializers(typ.Initializers, results), Type: PrepareType(typ.RawType, results), } diff --git a/encoding/json/encoding_test.go b/encoding/json/encoding_test.go index 8981f1abab..9ba6776788 100644 --- a/encoding/json/encoding_test.go +++ b/encoding/json/encoding_test.go @@ -1323,10 +1323,10 @@ func TestEncodeStruct(t *testing.T) { t.Parallel() - simpleStructType := &cadence.StructType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooStruct", - Fields: []cadence.Field{ + simpleStructType := cadence.NewStructType( + utils.TestLocation, + "FooStruct", + []cadence.Field{ { Identifier: "a", Type: cadence.IntType, @@ -1336,7 +1336,8 @@ func TestEncodeStruct(t *testing.T) { Type: cadence.StringType, }, }, - } + nil, + ) simpleStruct := encodeTest{ "Simple", @@ -1375,10 +1376,10 @@ func TestEncodeStruct(t *testing.T) { fooResourceType := newFooResourceType() - resourceStructType := &cadence.StructType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooStruct", - Fields: []cadence.Field{ + resourceStructType := cadence.NewStructType( + utils.TestLocation, + "FooStruct", + []cadence.Field{ { Identifier: "a", Type: cadence.StringType, @@ -1388,7 +1389,8 @@ func TestEncodeStruct(t *testing.T) { Type: fooResourceType, }, }, - } + nil, + ) resourceStruct := encodeTest{ "Resources", @@ -1483,10 +1485,10 @@ func TestEncodeEvent(t *testing.T) { t.Parallel() - simpleEventType := &cadence.EventType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooEvent", - Fields: []cadence.Field{ + simpleEventType := cadence.NewEventType( + utils.TestLocation, + "FooEvent", + []cadence.Field{ { Identifier: "a", Type: cadence.IntType, @@ -1496,7 +1498,8 @@ func TestEncodeEvent(t *testing.T) { Type: cadence.StringType, }, }, - } + nil, + ) simpleEvent := encodeTest{ "Simple", @@ -1535,10 +1538,10 @@ func TestEncodeEvent(t *testing.T) { fooResourceType := newFooResourceType() - resourceEventType := &cadence.EventType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooEvent", - Fields: []cadence.Field{ + resourceEventType := cadence.NewEventType( + utils.TestLocation, + "FooEvent", + []cadence.Field{ { Identifier: "a", Type: cadence.StringType, @@ -1548,7 +1551,8 @@ func TestEncodeEvent(t *testing.T) { Type: fooResourceType, }, }, - } + nil, + ) resourceEvent := encodeTest{ "Resources", @@ -1607,10 +1611,10 @@ func TestEncodeContract(t *testing.T) { t.Parallel() - simpleContractType := &cadence.ContractType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooContract", - Fields: []cadence.Field{ + simpleContractType := cadence.NewContractType( + utils.TestLocation, + "FooContract", + []cadence.Field{ { Identifier: "a", Type: cadence.IntType, @@ -1620,7 +1624,8 @@ func TestEncodeContract(t *testing.T) { Type: cadence.StringType, }, }, - } + nil, + ) simpleContract := encodeTest{ "Simple", @@ -1659,10 +1664,10 @@ func TestEncodeContract(t *testing.T) { fooResourceType := newFooResourceType() - resourceContractType := &cadence.ContractType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooContract", - Fields: []cadence.Field{ + resourceContractType := cadence.NewContractType( + utils.TestLocation, + "FooContract", + []cadence.Field{ { Identifier: "a", Type: cadence.StringType, @@ -1672,7 +1677,8 @@ func TestEncodeContract(t *testing.T) { Type: fooResourceType, }, }, - } + nil, + ) resourceContract := encodeTest{ "Resources", @@ -1896,17 +1902,17 @@ func TestEncodeType(t *testing.T) { testEncodeAndDecode( t, cadence.TypeValue{ - StaticType: &cadence.StructType{ - Location: utils.TestLocation, - QualifiedIdentifier: "S", - Fields: []cadence.Field{ + StaticType: cadence.NewStructType( + utils.TestLocation, + "S", + []cadence.Field{ {Identifier: "foo", Type: cadence.IntType}, }, - Initializers: [][]cadence.Parameter{ + [][]cadence.Parameter{ {{Label: "foo", Identifier: "bar", Type: cadence.IntType}}, {{Label: "qux", Identifier: "baz", Type: cadence.StringType}}, }, - }, + ), }, // language=json ` @@ -1957,17 +1963,17 @@ func TestEncodeType(t *testing.T) { testEncodeAndDecode( t, cadence.TypeValue{ - StaticType: &cadence.ResourceType{ - Location: utils.TestLocation, - QualifiedIdentifier: "R", - Fields: []cadence.Field{ + StaticType: cadence.NewResourceType( + utils.TestLocation, + "R", + []cadence.Field{ {Identifier: "foo", Type: cadence.IntType}, }, - Initializers: [][]cadence.Parameter{ + [][]cadence.Parameter{ {{Label: "foo", Identifier: "bar", Type: cadence.IntType}}, {{Label: "qux", Identifier: "baz", Type: cadence.StringType}}, }, - }, + ), }, // language=json ` @@ -2018,17 +2024,17 @@ func TestEncodeType(t *testing.T) { testEncodeAndDecode( t, cadence.TypeValue{ - StaticType: &cadence.ContractType{ - Location: utils.TestLocation, - QualifiedIdentifier: "C", - Fields: []cadence.Field{ + StaticType: cadence.NewContractType( + utils.TestLocation, + "C", + []cadence.Field{ {Identifier: "foo", Type: cadence.IntType}, }, - Initializers: [][]cadence.Parameter{ + [][]cadence.Parameter{ {{Label: "foo", Identifier: "bar", Type: cadence.IntType}}, {{Label: "qux", Identifier: "baz", Type: cadence.StringType}}, }, - }, + ), }, // language=json ` @@ -2079,17 +2085,17 @@ func TestEncodeType(t *testing.T) { testEncodeAndDecode( t, cadence.TypeValue{ - StaticType: &cadence.StructInterfaceType{ - Location: utils.TestLocation, - QualifiedIdentifier: "S", - Fields: []cadence.Field{ + StaticType: cadence.NewStructInterfaceType( + utils.TestLocation, + "S", + []cadence.Field{ {Identifier: "foo", Type: cadence.IntType}, }, - Initializers: [][]cadence.Parameter{ + [][]cadence.Parameter{ {{Label: "foo", Identifier: "bar", Type: cadence.IntType}}, {{Label: "qux", Identifier: "baz", Type: cadence.StringType}}, }, - }, + ), }, // language=json ` @@ -2140,17 +2146,17 @@ func TestEncodeType(t *testing.T) { testEncodeAndDecode( t, cadence.TypeValue{ - StaticType: &cadence.ResourceInterfaceType{ - Location: utils.TestLocation, - QualifiedIdentifier: "R", - Fields: []cadence.Field{ + StaticType: cadence.NewResourceInterfaceType( + utils.TestLocation, + "R", + []cadence.Field{ {Identifier: "foo", Type: cadence.IntType}, }, - Initializers: [][]cadence.Parameter{ + [][]cadence.Parameter{ {{Label: "foo", Identifier: "bar", Type: cadence.IntType}}, {{Label: "qux", Identifier: "baz", Type: cadence.StringType}}, }, - }, + ), }, // language=json ` @@ -2201,17 +2207,17 @@ func TestEncodeType(t *testing.T) { testEncodeAndDecode( t, cadence.TypeValue{ - StaticType: &cadence.ContractInterfaceType{ - Location: utils.TestLocation, - QualifiedIdentifier: "C", - Fields: []cadence.Field{ + StaticType: cadence.NewContractInterfaceType( + utils.TestLocation, + "C", + []cadence.Field{ {Identifier: "foo", Type: cadence.IntType}, }, - Initializers: [][]cadence.Parameter{ + [][]cadence.Parameter{ {{Label: "foo", Identifier: "bar", Type: cadence.IntType}}, {{Label: "qux", Identifier: "baz", Type: cadence.StringType}}, }, - }, + ), }, // language=json ` @@ -2262,17 +2268,17 @@ func TestEncodeType(t *testing.T) { testEncodeAndDecode( t, cadence.TypeValue{ - StaticType: &cadence.EventType{ - Location: utils.TestLocation, - QualifiedIdentifier: "E", - Fields: []cadence.Field{ + StaticType: cadence.NewEventType( + utils.TestLocation, + "E", + []cadence.Field{ {Identifier: "foo", Type: cadence.IntType}, }, - Initializer: []cadence.Parameter{ + []cadence.Parameter{ {Label: "foo", Identifier: "bar", Type: cadence.IntType}, {Label: "qux", Identifier: "baz", Type: cadence.StringType}, }, - }, + ), }, // language=json ` @@ -2321,18 +2327,18 @@ func TestEncodeType(t *testing.T) { testEncodeAndDecode( t, cadence.TypeValue{ - StaticType: &cadence.EnumType{ - Location: utils.TestLocation, - QualifiedIdentifier: "E", - RawType: cadence.StringType, - Fields: []cadence.Field{ + StaticType: cadence.NewEnumType( + utils.TestLocation, + "E", + cadence.StringType, + []cadence.Field{ {Identifier: "foo", Type: cadence.IntType}, }, - Initializers: [][]cadence.Parameter{ + [][]cadence.Parameter{ {{Label: "foo", Identifier: "bar", Type: cadence.IntType}}, {{Label: "qux", Identifier: "baz", Type: cadence.StringType}}, }, - }, + ), }, // language=json ` @@ -3255,17 +3261,19 @@ func TestExportRecursiveType(t *testing.T) { t.Parallel() - ty := &cadence.ResourceType{ - Location: utils.TestLocation, - QualifiedIdentifier: "Foo", - Fields: []cadence.Field{ - { - Identifier: "foo", - }, + fields := []cadence.Field{ + { + Identifier: "foo", }, } + ty := cadence.NewResourceType( + utils.TestLocation, + "Foo", + fields, + nil, + ) - ty.Fields[0].Type = &cadence.OptionalType{ + fields[0].Type = &cadence.OptionalType{ Type: ty, } @@ -3304,18 +3312,19 @@ func TestExportTypeValueRecursiveType(t *testing.T) { t.Parallel() - ty := &cadence.ResourceType{ - Location: utils.TestLocation, - QualifiedIdentifier: "Foo", - Fields: []cadence.Field{ - { - Identifier: "foo", - }, + fields := []cadence.Field{ + { + Identifier: "foo", }, - Initializers: [][]cadence.Parameter{}, } + ty := cadence.NewResourceType( + utils.TestLocation, + "Foo", + fields, + [][]cadence.Parameter{}, + ) - ty.Fields[0].Type = &cadence.OptionalType{ + fields[0].Type = &cadence.OptionalType{ Type: ty, } @@ -3355,17 +3364,17 @@ func TestExportTypeValueRecursiveType(t *testing.T) { t.Parallel() - fooTy := &cadence.ResourceType{ - Location: utils.TestLocation, - QualifiedIdentifier: "Foo", - Fields: []cadence.Field{}, - Initializers: [][]cadence.Parameter{}, - } + fooTy := cadence.NewResourceType( + utils.TestLocation, + "Foo", + []cadence.Field{}, + [][]cadence.Parameter{}, + ) - barTy := &cadence.ResourceType{ - Location: utils.TestLocation, - QualifiedIdentifier: "Bar", - Fields: []cadence.Field{ + barTy := cadence.NewResourceType( + utils.TestLocation, + "Bar", + []cadence.Field{ { Identifier: "foo1", Type: fooTy, @@ -3375,8 +3384,8 @@ func TestExportTypeValueRecursiveType(t *testing.T) { Type: fooTy, }, }, - Initializers: [][]cadence.Parameter{}, - } + [][]cadence.Parameter{}, + ) testEncodeAndDecode( t, @@ -3578,16 +3587,17 @@ func testDecode(t *testing.T, actualJSON string, expectedVal cadence.Value, opti } func newFooResourceType() *cadence.ResourceType { - return &cadence.ResourceType{ - Location: utils.TestLocation, - QualifiedIdentifier: "Foo", - Fields: []cadence.Field{ + return cadence.NewResourceType( + utils.TestLocation, + "Foo", + []cadence.Field{ { Identifier: "bar", Type: cadence.IntType, }, }, - } + nil, + ) } func TestNonUTF8StringEncoding(t *testing.T) { diff --git a/migrations_data/staged-contracts-report-2024-06-12T13-03-00Z-testnet.json b/migrations_data/staged-contracts-report-2024-06-12T13-03-00Z-testnet.json new file mode 100644 index 0000000000..2a476f4813 --- /dev/null +++ b/migrations_data/staged-contracts-report-2024-06-12T13-03-00Z-testnet.json @@ -0,0 +1 @@ +[{"kind":"contract-update-success","account_address":"0x34f3140b7f54c743","contract_name":"CricketMoments"},{"kind":"contract-update-success","account_address":"0x34f3140b7f54c743","contract_name":"CricketMomentsShardedCollection"},{"kind":"contract-update-success","account_address":"0x34f3140b7f54c743","contract_name":"FazeUtilityCoin"},{"kind":"contract-update-success","account_address":"0x2d0d952e760d1770","contract_name":"CricketMoments"},{"kind":"contract-update-success","account_address":"0x2d0d952e760d1770","contract_name":"CricketMomentsShardedCollection"},{"kind":"contract-update-success","account_address":"0x4dfd62c88d1b6462","contract_name":"AllDay"},{"kind":"contract-update-success","account_address":"0x2d0d952e760d1770","contract_name":"FazeUtilityCoin"},{"kind":"contract-update-success","account_address":"0x6b7930acbcd12877","contract_name":"Cryptoys"},{"kind":"contract-update-success","account_address":"0x6b7930acbcd12877","contract_name":"CryptoysMetadataView2"},{"kind":"contract-update-success","account_address":"0x6b7930acbcd12877","contract_name":"ICryptoys"},{"kind":"contract-update-success","account_address":"0x4dfd62c88d1b6462","contract_name":"PackNFT"},{"kind":"contract-update-success","account_address":"0x43ee8c22fcf94ea3","contract_name":"DapperStorageRent"},{"kind":"contract-update-success","account_address":"0x2299f74679d9c88a","contract_name":"A"},{"kind":"contract-update-success","account_address":"0x9d96fa5f60093c18","contract_name":"A"},{"kind":"contract-update-success","account_address":"0x9d96fa5f60093c18","contract_name":"B"},{"kind":"contract-update-success","account_address":"0xdad0aaa285a25413","contract_name":"PriceOracle"},{"kind":"contract-update-success","account_address":"0x2d59ec5158e3adae","contract_name":"HeroesOfTheFlow"},{"kind":"contract-update-success","account_address":"0x2bd8210db3a8fe8a","contract_name":"NFTLocking"},{"kind":"contract-update-success","account_address":"0x2bd8210db3a8fe8a","contract_name":"Swap"},{"kind":"contract-update-success","account_address":"0x2bd8210db3a8fe8a","contract_name":"SwapArchive"},{"kind":"contract-update-success","account_address":"0x2bd8210db3a8fe8a","contract_name":"SwapStats"},{"kind":"contract-update-success","account_address":"0x2bd8210db3a8fe8a","contract_name":"SwapStatsRegistry"},{"kind":"contract-update-success","account_address":"0x2bd8210db3a8fe8a","contract_name":"Utils"},{"kind":"contract-update-failure","account_address":"0xf28310b45fc6b319","contract_name":"ExampleNFT","error":"error: cannot find type in this scope: `NonFungibleToken.Owner`\n --\u003e f28310b45fc6b319.ExampleNFT:161:43\n |\n161 | access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {\n | ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `NonFungibleToken.Owner`\n --\u003e f28310b45fc6b319.ExampleNFT:183:60\n |\n183 | let authTokenRef = (\u0026self.ownedNFTs[id] as auth(NonFungibleToken.Owner) \u0026{NonFungibleToken.NFT}?)!\n | ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: mismatched types\n --\u003e f28310b45fc6b319.ExampleNFT:185:38\n |\n185 | ExampleNFT.emitNFTUpdated(authTokenRef)\n | ^^^^^^^^^^^^ expected `auth(NonFungibleToken.Update) \u0026{NonFungibleToken.NFT}`, got `auth(NonFungibleToken) \u0026{NonFungibleToken.NFT}`\n\nerror: resource `ExampleNFT.Collection` does not conform to resource interface `NonFungibleToken.Collection`\n --\u003e f28310b45fc6b319.ExampleNFT:134:25\n |\n134 | access(all) resource Collection: NonFungibleToken.Collection, ExampleNFTCollectionPublic {\n | ^\n ... \n |\n137 | access(contract) var ownedNFTs: @{UInt64: {NonFungibleToken.NFT}}\n | --------- mismatch here\n\nerror: resource `ExampleNFT.Collection` does not conform to resource interface `NonFungibleToken.Collection`\n --\u003e f28310b45fc6b319.ExampleNFT:134:25\n |\n134 | access(all) resource Collection: NonFungibleToken.Collection, ExampleNFTCollectionPublic {\n | ^\n ... \n |\n161 | access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {\n | -------- mismatch here\n"},{"kind":"contract-update-success","account_address":"0x195caada038c5806","contract_name":"BarterYardClubWerewolf"},{"kind":"contract-update-success","account_address":"0x195caada038c5806","contract_name":"BarterYardStats"},{"kind":"contract-update-success","account_address":"0xb45e7992680a0f7f","contract_name":"CricketMoments"},{"kind":"contract-update-success","account_address":"0xb45e7992680a0f7f","contract_name":"CricketMomentsShardedCollection"},{"kind":"contract-update-success","account_address":"0xb45e7992680a0f7f","contract_name":"FazeUtilityCoin"},{"kind":"contract-update-failure","account_address":"0xc7c122b5b811de8e","contract_name":"BulkPurchase","error":"error: missing structure declaration `Order`\n --\u003e c7c122b5b811de8e.BulkPurchase:20:21\n |\n20 | access(all) contract BulkPurchase {\n | ^^^^^^^^^^^^\n"},{"kind":"contract-update-success","account_address":"0xc7c122b5b811de8e","contract_name":"FlowversePass"},{"kind":"contract-update-success","account_address":"0xc7c122b5b811de8e","contract_name":"FlowversePassPrimarySaleMinter"},{"kind":"contract-update-success","account_address":"0xc7c122b5b811de8e","contract_name":"FlowversePrimarySale"},{"kind":"contract-update-success","account_address":"0xc7c122b5b811de8e","contract_name":"FlowversePrimarySaleV2"},{"kind":"contract-update-success","account_address":"0xc7c122b5b811de8e","contract_name":"FlowverseShirt"},{"kind":"contract-update-success","account_address":"0xc7c122b5b811de8e","contract_name":"FlowverseSocks"},{"kind":"contract-update-success","account_address":"0xc7c122b5b811de8e","contract_name":"FlowverseTreasures"},{"kind":"contract-update-success","account_address":"0xc7c122b5b811de8e","contract_name":"FlowverseTreasuresPrimarySaleMinter"},{"kind":"contract-update-success","account_address":"0xc7c122b5b811de8e","contract_name":"Ordinal"},{"kind":"contract-update-success","account_address":"0xc7c122b5b811de8e","contract_name":"OrdinalVendor"},{"kind":"contract-update-success","account_address":"0xc7c122b5b811de8e","contract_name":"Royalties"},{"kind":"contract-update-failure","account_address":"0x3e5b4c627064625d","contract_name":"Flomies","error":"error: found new field `storagePath` in `Collection`\n --\u003e 3e5b4c627064625d.Flomies:231:25\n |\n231 | access(self) var storagePath: StoragePath\n | ^^^^^^^^^^^\n\nerror: found new field `publicPath` in `Collection`\n --\u003e 3e5b4c627064625d.Flomies:232:25\n |\n232 | access(self) var publicPath: PublicPath\n | ^^^^^^^^^^\n"},{"kind":"contract-update-success","account_address":"0x3e5b4c627064625d","contract_name":"GeneratedExperiences"},{"kind":"contract-update-success","account_address":"0x3e5b4c627064625d","contract_name":"NFGv3"},{"kind":"contract-update-failure","account_address":"0x3e5b4c627064625d","contract_name":"PartyFavorz","error":"error: found new field `storagePath` in `Collection`\n --\u003e 3e5b4c627064625d.PartyFavorz:249:25\n |\n249 | access(self) var storagePath: StoragePath\n | ^^^^^^^^^^^\n\nerror: found new field `publicPath` in `Collection`\n --\u003e 3e5b4c627064625d.PartyFavorz:250:25\n |\n250 | access(self) var publicPath: PublicPath\n | ^^^^^^^^^^\n"},{"kind":"contract-update-success","account_address":"0x3e5b4c627064625d","contract_name":"PartyFavorzExtraData"},{"kind":"contract-update-success","account_address":"0x072127280188a611","contract_name":"TestRootContract"},{"kind":"contract-update-failure","account_address":"0x1f38da7a93c61f28","contract_name":"ExampleNFT","error":"error: cannot find type in this scope: `NonFungibleToken.Owner`\n --\u003e 1f38da7a93c61f28.ExampleNFT:161:43\n |\n161 | access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {\n | ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `NonFungibleToken.Owner`\n --\u003e 1f38da7a93c61f28.ExampleNFT:183:60\n |\n183 | let authTokenRef = (\u0026self.ownedNFTs[id] as auth(NonFungibleToken.Owner) \u0026{NonFungibleToken.NFT}?)!\n | ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: mismatched types\n --\u003e 1f38da7a93c61f28.ExampleNFT:185:38\n |\n185 | ExampleNFT.emitNFTUpdated(authTokenRef)\n | ^^^^^^^^^^^^ expected `auth(NonFungibleToken.Update) \u0026{NonFungibleToken.NFT}`, got `auth(NonFungibleToken) \u0026{NonFungibleToken.NFT}`\n\nerror: resource `ExampleNFT.Collection` does not conform to resource interface `NonFungibleToken.Collection`\n --\u003e 1f38da7a93c61f28.ExampleNFT:134:25\n |\n134 | access(all) resource Collection: NonFungibleToken.Collection, ExampleNFTCollectionPublic {\n | ^\n ... \n |\n137 | access(contract) var ownedNFTs: @{UInt64: {NonFungibleToken.NFT}}\n | --------- mismatch here\n\nerror: resource `ExampleNFT.Collection` does not conform to resource interface `NonFungibleToken.Collection`\n --\u003e 1f38da7a93c61f28.ExampleNFT:134:25\n |\n134 | access(all) resource Collection: NonFungibleToken.Collection, ExampleNFTCollectionPublic {\n | ^\n ... \n |\n161 | access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {\n | -------- mismatch here\n"},{"kind":"contract-update-failure","account_address":"0xbd327ae7428784b5","contract_name":"FlowEVMBridgeHandlerInterfaces","error":"error: trying to convert contract interface `FlowEVMBridgeHandlerInterfaces` to a contract\n --\u003e bd327ae7428784b5.FlowEVMBridgeHandlerInterfaces:12:21\n |\n12 | access(all) contract FlowEVMBridgeHandlerInterfaces {\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n"},{"kind":"contract-update-success","account_address":"0xbe4635353f55bbd4","contract_name":"FeeEstimator"},{"kind":"contract-update-success","account_address":"0xbe4635353f55bbd4","contract_name":"LostAndFound"},{"kind":"contract-update-success","account_address":"0xbe4635353f55bbd4","contract_name":"LostAndFoundHelper"},{"kind":"contract-update-success","account_address":"0xd8f6346999b983f5","contract_name":"IPackNFT"},{"kind":"contract-update-success","account_address":"0xa1296b1e2e90ca5b","contract_name":"HelloWorld"},{"kind":"contract-update-success","account_address":"0xe3faea00c5bb8d7d","contract_name":"TrmAssetV2_2"},{"kind":"contract-update-success","account_address":"0xe3faea00c5bb8d7d","contract_name":"TrmMarketV2_2"},{"kind":"contract-update-success","account_address":"0xe3faea00c5bb8d7d","contract_name":"TrmRentV2_2"},{"kind":"contract-update-success","account_address":"0x4ed4b8e5cd0dd15e","contract_name":"PackNFT"},{"kind":"contract-update-success","account_address":"0x2a9011074c827145","contract_name":"FungibleTokenCatalog"},{"kind":"contract-update-success","account_address":"0xddb929038d45d4b3","contract_name":"SwapConfig"},{"kind":"contract-update-success","account_address":"0xddb929038d45d4b3","contract_name":"SwapError"},{"kind":"contract-update-success","account_address":"0xddb929038d45d4b3","contract_name":"SwapInterfaces"},{"kind":"contract-update-success","account_address":"0x2d766f00eb1d0c37","contract_name":"PriceOracle"},{"kind":"contract-update-failure","account_address":"0xf8e0eab3a87cbf49","contract_name":"ExampleNFT","error":"error: error getting program f8e0eab3a87cbf49.ExampleDependency: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :1:0\n |\n1 | pub contract ExampleDependency {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :2:4\n |\n2 | pub let test: Int\n | ^^^\n\n--\u003e f8e0eab3a87cbf49.ExampleDependency\n\nerror: cannot find type in this scope: `NonFungibleToken.Owner`\n --\u003e f8e0eab3a87cbf49.ExampleNFT:161:43\n |\n161 | access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {\n | ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: resource `ExampleNFT.Collection` does not conform to resource interface `NonFungibleToken.Collection`\n --\u003e f8e0eab3a87cbf49.ExampleNFT:128:25\n |\n128 | access(all) resource Collection: NonFungibleToken.Collection {\n | ^\n ... \n |\n131 | access(contract) var ownedNFTs: @{UInt64: ExampleNFT.NFT}\n | --------- mismatch here\n\nerror: resource `ExampleNFT.Collection` does not conform to resource interface `NonFungibleToken.Collection`\n --\u003e f8e0eab3a87cbf49.ExampleNFT:128:25\n |\n128 | access(all) resource Collection: NonFungibleToken.Collection {\n | ^\n ... \n |\n161 | access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {\n | -------- mismatch here\n"},{"kind":"contract-update-success","account_address":"0x894269f57ac04a6e","contract_name":"FlowtyRaffleSource"},{"kind":"contract-update-success","account_address":"0x894269f57ac04a6e","contract_name":"FlowtyRaffles"},{"kind":"contract-update-success","account_address":"0x668b91e2995c2eba","contract_name":"PrivateReceiverForwarder"},{"kind":"contract-update-success","account_address":"0x877931736ee77cff","contract_name":"PackNFT"},{"kind":"contract-update-success","account_address":"0x877931736ee77cff","contract_name":"TopShot"},{"kind":"contract-update-success","account_address":"0x877931736ee77cff","contract_name":"TopShotLocking"},{"kind":"contract-update-success","account_address":"0xf9dad0d4c14a92b5","contract_name":"BUSD"},{"kind":"contract-update-success","account_address":"0xf9dad0d4c14a92b5","contract_name":"USDC"},{"kind":"contract-update-success","account_address":"0xf9dad0d4c14a92b5","contract_name":"USDT"},{"kind":"contract-update-success","account_address":"0xf9dad0d4c14a92b5","contract_name":"wFlow"},{"kind":"contract-update-success","account_address":"0x9680721e43087f43","contract_name":"DropTypes"},{"kind":"contract-update-success","account_address":"0x2f8af5ed05bbde0d","contract_name":"SwapRouter"},{"kind":"contract-update-success","account_address":"0xd704ee8202a0d82d","contract_name":"ExampleNFT"},{"kind":"contract-update-success","account_address":"0xa2526e2d9cc7f0d2","contract_name":"PackNFT"},{"kind":"contract-update-success","account_address":"0xa2526e2d9cc7f0d2","contract_name":"Pinnacle"},{"kind":"contract-update-success","account_address":"0xb051bdaddb672a33","contract_name":"DNAHandler"},{"kind":"contract-update-success","account_address":"0xb051bdaddb672a33","contract_name":"FlowtyListingCallback"},{"kind":"contract-update-success","account_address":"0xb051bdaddb672a33","contract_name":"FlowtyUtils"},{"kind":"contract-update-success","account_address":"0xb051bdaddb672a33","contract_name":"FlowtyViews"},{"kind":"contract-update-success","account_address":"0xb051bdaddb672a33","contract_name":"NFTStorefrontV2"},{"kind":"contract-update-success","account_address":"0xb051bdaddb672a33","contract_name":"Permitted"},{"kind":"contract-update-success","account_address":"0xb051bdaddb672a33","contract_name":"RoyaltiesOverride"},{"kind":"contract-update-success","account_address":"0x99ca04281098b33d","contract_name":"Art"},{"kind":"contract-update-success","account_address":"0x99ca04281098b33d","contract_name":"Auction"},{"kind":"contract-update-success","account_address":"0x99ca04281098b33d","contract_name":"Content"},{"kind":"contract-update-success","account_address":"0x99ca04281098b33d","contract_name":"Marketplace"},{"kind":"contract-update-success","account_address":"0x99ca04281098b33d","contract_name":"Profile"},{"kind":"contract-update-success","account_address":"0x99ca04281098b33d","contract_name":"Versus"},{"kind":"contract-update-success","account_address":"0x94b84d0c11a22404","contract_name":"TopShotShardedCollection"},{"kind":"contract-update-success","account_address":"0x7745157792470296","contract_name":"LendingOracle"},{"kind":"contract-update-success","account_address":"0x82ec283f88a62e65","contract_name":"DapperUtilityCoin"},{"kind":"contract-update-success","account_address":"0x82ec283f88a62e65","contract_name":"FlowUtilityToken"},{"kind":"contract-update-failure","account_address":"0xfa2a6615db587be5","contract_name":"ExampleNFT","error":"error: cannot find type in this scope: `NonFungibleToken.Owner`\n --\u003e fa2a6615db587be5.ExampleNFT:160:43\n |\n160 | access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {\n | ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: resource `ExampleNFT.Collection` does not conform to resource interface `NonFungibleToken.Collection`\n --\u003e fa2a6615db587be5.ExampleNFT:127:25\n |\n127 | access(all) resource Collection: NonFungibleToken.Collection {\n | ^\n ... \n |\n130 | access(contract) var ownedNFTs: @{UInt64: ExampleNFT.NFT}\n | --------- mismatch here\n\nerror: resource `ExampleNFT.Collection` does not conform to resource interface `NonFungibleToken.Collection`\n --\u003e fa2a6615db587be5.ExampleNFT:127:25\n |\n127 | access(all) resource Collection: NonFungibleToken.Collection {\n | ^\n ... \n |\n160 | access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {\n | -------- mismatch here\n"},{"kind":"contract-update-success","account_address":"0x86d1c2159a5d9eca","contract_name":"TransactionTypes"},{"kind":"contract-update-success","account_address":"0x1c5033ad60821c97","contract_name":"Admin"},{"kind":"contract-update-success","account_address":"0x1c5033ad60821c97","contract_name":"Clock"},{"kind":"contract-update-success","account_address":"0x1c5033ad60821c97","contract_name":"Debug"},{"kind":"contract-update-success","account_address":"0x1c5033ad60821c97","contract_name":"DoodleNames"},{"kind":"contract-update-success","account_address":"0x1c5033ad60821c97","contract_name":"DoodlePackTypes"},{"kind":"contract-update-success","account_address":"0x1c5033ad60821c97","contract_name":"DoodlePacks"},{"kind":"contract-update-success","account_address":"0x1c5033ad60821c97","contract_name":"Doodles"},{"kind":"contract-update-success","account_address":"0x1c5033ad60821c97","contract_name":"GenesisBoxRegistry"},{"kind":"contract-update-success","account_address":"0x1c5033ad60821c97","contract_name":"OpenDoodlePacks"},{"kind":"contract-update-success","account_address":"0x1c5033ad60821c97","contract_name":"Random"},{"kind":"contract-update-success","account_address":"0x1c5033ad60821c97","contract_name":"Redeemables"},{"kind":"contract-update-success","account_address":"0x1c5033ad60821c97","contract_name":"Teleport"},{"kind":"contract-update-success","account_address":"0x1c5033ad60821c97","contract_name":"Templates"},{"kind":"contract-update-success","account_address":"0x1c5033ad60821c97","contract_name":"TransactionsRegistry"},{"kind":"contract-update-success","account_address":"0x1c5033ad60821c97","contract_name":"Wearables"},{"kind":"contract-update-success","account_address":"0x723a1b50e1d67e8e","contract_name":"TuneGONFT"},{"kind":"contract-update-failure","account_address":"0x8b47f4dd22afee8d","contract_name":"MetadataViews","error":"error: missing resource interface declaration `Resolver`\n --\u003e 8b47f4dd22afee8d.MetadataViews:15:21\n |\n15 | access(all) contract MetadataViews {\n | ^^^^^^^^^^^^^\n\nerror: missing resource interface declaration `ResolverCollection`\n --\u003e 8b47f4dd22afee8d.MetadataViews:15:21\n |\n15 | access(all) contract MetadataViews {\n | ^^^^^^^^^^^^^\n"},{"kind":"contract-update-success","account_address":"0x8b47f4dd22afee8d","contract_name":"TrmAssetMSV1_0"},{"kind":"contract-update-failure","account_address":"0xd35bad52c7e1ab65","contract_name":"ZeedzINO","error":"error: cannot find type in this scope: `NonFungibleToken.Owner`\n --\u003e d35bad52c7e1ab65.ZeedzINO:207:43\n |\n207 | access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun burn(burnID: UInt64)\n | ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `NonFungibleToken.Owner`\n --\u003e d35bad52c7e1ab65.ZeedzINO:208:43\n |\n208 | access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun redeem(redeemID: UInt64, message: String)\n | ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `NonFungibleToken.Owner`\n --\u003e d35bad52c7e1ab65.ZeedzINO:218:43\n |\n218 | access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {\n | ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `NonFungibleToken.Owner`\n --\u003e d35bad52c7e1ab65.ZeedzINO:224:43\n |\n224 | access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun burn(burnID: UInt64){\n | ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `NonFungibleToken.Owner`\n --\u003e d35bad52c7e1ab65.ZeedzINO:234:43\n |\n234 | access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun redeem(redeemID: UInt64, message: String){\n | ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: resource `ZeedzINO.Collection` does not conform to resource interface `NonFungibleToken.Collection`\n --\u003e d35bad52c7e1ab65.ZeedzINO:214:25\n |\n214 | access(all) resource Collection: NonFungibleToken.Collection, ZeedzCollectionPublic, ZeedzCollectionPrivate {\n | ^\n ... \n |\n218 | access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {\n | -------- mismatch here\n\nerror: resource `ZeedzINO.Collection` does not conform to resource interface `ZeedzINO.ZeedzCollectionPrivate`\n --\u003e d35bad52c7e1ab65.ZeedzINO:214:25\n |\n214 | access(all) resource Collection: NonFungibleToken.Collection, ZeedzCollectionPublic, ZeedzCollectionPrivate {\n | ^\n ... \n |\n224 | access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun burn(burnID: UInt64){\n | ---- mismatch here\n ... \n |\n234 | access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun redeem(redeemID: UInt64, message: String){\n | ------ mismatch here\n"},{"kind":"contract-update-success","account_address":"0x520a7157e1b964ed","contract_name":"ShebaHopeGrows"},{"kind":"contract-update-success","account_address":"0x6f6702697b205c18","contract_name":"HWGarageCard"},{"kind":"contract-update-success","account_address":"0x6f6702697b205c18","contract_name":"HWGarageCardV2"},{"kind":"contract-update-success","account_address":"0x6f6702697b205c18","contract_name":"HWGaragePM"},{"kind":"contract-update-success","account_address":"0x6f6702697b205c18","contract_name":"HWGaragePMV2"},{"kind":"contract-update-success","account_address":"0x6f6702697b205c18","contract_name":"HWGaragePack"},{"kind":"contract-update-success","account_address":"0x6f6702697b205c18","contract_name":"HWGaragePackV2"},{"kind":"contract-update-success","account_address":"0x6f6702697b205c18","contract_name":"HWGarageTokenV2"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"Admin"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"CharityNFT"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"Clock"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"Dandy"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"Debug"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FIND"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FINDNFTCatalog"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FINDNFTCatalogAdmin"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FTRegistry"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindAirdropper"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindForge"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindForgeOrder"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindForgeStruct"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindFurnace"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindLeaseMarket"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindLeaseMarketAuctionSoft"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindLeaseMarketDirectOfferSoft"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindLeaseMarketSale"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindLostAndFoundWrapper"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindMarket"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindMarketAdmin"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindMarketAuctionEscrow"},{"kind":"contract-update-success","account_address":"0x26a1e94319e81a3c","contract_name":"Staking"},{"kind":"contract-update-success","account_address":"0x26a1e94319e81a3c","contract_name":"StakingError"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindMarketAuctionSoft"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindMarketCut"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindMarketCutInterface"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindMarketCutStruct"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindMarketDirectOfferEscrow"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindMarketDirectOfferSoft"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindMarketInfrastructureCut"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindMarketSale"},{"kind":"contract-update-failure","account_address":"0x35717efbbce11c74","contract_name":"FindPack","error":"error: mismatching field `providerCaps` in `Metadata`\n --\u003e 35717efbbce11c74.FindPack:343:43\n |\n343 | access(contract) let providerCaps: {Type : Capability\u003cauth (NonFungibleToken.Withdraw) \u0026{NonFungibleToken.Collection}\u003e}\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ incompatible type annotations. expected `{NonFungibleToken.Provider, MetadataViews.ResolverCollection}`, found `{NonFungibleToken.Collection}`\n\nerror: conformances do not match in `FindPack`: missing `A.631e88ae7f1d7c20.NonFungibleToken`\n --\u003e 35717efbbce11c74.FindPack:12:21\n |\n12 | access(all) contract FindPack {\n | ^^^^^^^^\n"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindRelatedAccounts"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindRulesCache"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindThoughts"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindUtils"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindVerifier"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindViews"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"NameVoucher"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"Profile"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"ProfileCache"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"Sender"},{"kind":"contract-update-success","account_address":"0x628992a07cb07272","contract_name":"MatrixWorldVoucher"},{"kind":"contract-update-success","account_address":"0x44ef9309713e2061","contract_name":"StakingError"},{"kind":"contract-update-success","account_address":"0x44ef9309713e2061","contract_name":"StakingNFT"},{"kind":"contract-update-success","account_address":"0x3286bb76e4e115fe","contract_name":"Boneyard"},{"kind":"contract-update-success","account_address":"0xdfc20aee650fcbdf","contract_name":"FlowEVMBridgeHandlerInterfaces"},{"kind":"contract-update-success","account_address":"0x857dc34d5e1631d3","contract_name":"FLOAT"},{"kind":"contract-update-failure","account_address":"0x857dc34d5e1631d3","contract_name":"FLOATVerifiers","error":"error: error getting program 4d47bf3ce5e4393f.FLOAT: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:0\n |\n28 | pub contract FLOAT: NonFungibleToken, ViewResolver {\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :34:4\n |\n34 | pub let FLOATCollectionStoragePath: StoragePath\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :35:4\n |\n35 | pub let FLOATCollectionPublicPath: PublicPath\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :36:4\n |\n36 | pub let FLOATEventsStoragePath: StoragePath\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :37:4\n |\n37 | pub let FLOATEventsPublicPath: PublicPath\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :38:4\n |\n38 | pub let FLOATEventsPrivatePath: PrivatePath\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :44:4\n |\n44 | pub event ContractInitialized()\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :45:4\n |\n45 | pub event FLOATMinted(id: UInt64, eventHost: Address, eventId: UInt64, eventImage: String, recipient: Address, serial: UInt64)\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :46:4\n |\n46 | pub event FLOATClaimed(id: UInt64, eventHost: Address, eventId: UInt64, eventImage: String, eventName: String, recipient: Address, serial: UInt64)\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :47:4\n |\n47 | pub event FLOATDestroyed(id: UInt64, eventHost: Address, eventId: UInt64, eventImage: String, serial: UInt64)\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :48:4\n |\n48 | pub event FLOATTransferred(id: UInt64, eventHost: Address, eventId: UInt64, newOwner: Address?, serial: UInt64)\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:4\n |\n49 | pub event FLOATPurchased(id: UInt64, eventHost: Address, eventId: UInt64, recipient: Address, serial: UInt64)\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :50:4\n |\n50 | pub event FLOATEventCreated(eventId: UInt64, description: String, host: Address, image: String, name: String, url: String)\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :51:4\n |\n51 | pub event FLOATEventDestroyed(eventId: UInt64, host: Address, name: String)\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :53:4\n |\n53 | pub event Deposit(id: UInt64, to: Address?)\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :54:4\n |\n54 | pub event Withdraw(id: UInt64, from: Address?)\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :62:4\n |\n62 | pub var totalSupply: UInt64\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :65:4\n |\n65 | pub var totalFLOATEvents: UInt64\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :73:4\n |\n73 | pub struct TokenIdentifier {\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :74:8\n |\n74 | pub let id: UInt64\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :75:8\n |\n75 | pub let address: Address\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :76:8\n |\n76 | pub let serial: UInt64\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :85:4\n |\n85 | pub struct TokenInfo {\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :86:8\n |\n86 | pub let path: PublicPath\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :87:8\n |\n87 | pub let price: UFix64\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :96:4\n |\n96 | pub resource NFT: NonFungibleToken.INFT, MetadataViews.Resolver {\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :98:8\n |\n98 | pub let id: UInt64\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :103:8\n |\n103 | pub let dateReceived: UFix64\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :104:8\n |\n104 | pub let eventDescription: String\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :105:8\n |\n105 | pub let eventHost: Address\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :106:8\n |\n106 | pub let eventId: UInt64\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :107:8\n |\n107 | pub let eventImage: String\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :108:8\n |\n108 | pub let eventName: String\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:8\n |\n109 | pub let originalRecipient: Address\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :110:8\n |\n110 | pub let serial: UInt64\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:8\n |\n117 | pub let eventsCap: Capability\u003c\u0026FLOATEvents{FLOATEventsPublic, MetadataViews.ResolverCollection}\u003e\r\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :117:51\n |\n117 | pub let eventsCap: Capability\u003c\u0026FLOATEvents{FLOATEventsPublic, MetadataViews.ResolverCollection}\u003e\r\n | ^^^^^^^^^^^^^^^^^\n\n--\u003e 4d47bf3ce5e4393f.FLOAT\n\nerror: cannot find type in this scope: `FLOAT`\n --\u003e 857dc34d5e1631d3.FLOATVerifiers:38:33\n |\n38 | access(all) struct Timelock: FLOAT.IVerifier {\n | ^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FLOAT`\n --\u003e 857dc34d5e1631d3.FLOATVerifiers:66:31\n |\n66 | access(all) struct Secret: FLOAT.IVerifier {\n | ^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FLOAT`\n --\u003e 857dc34d5e1631d3.FLOATVerifiers:90:32\n |\n90 | access(all) struct Limited: FLOAT.IVerifier {\n | ^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FLOAT`\n --\u003e 857dc34d5e1631d3.FLOATVerifiers:113:39\n |\n113 | access(all) struct MultipleSecret: FLOAT.IVerifier {\n | ^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FLOAT`\n --\u003e 857dc34d5e1631d3.FLOATVerifiers:137:33\n |\n137 | access(all) struct SecretV2: FLOAT.IVerifier {\n | ^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FLOAT`\n --\u003e 857dc34d5e1631d3.FLOATVerifiers:162:39\n |\n162 | access(all) struct MinimumBalance: FLOAT.IVerifier {\n | ^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FLOAT`\n --\u003e 857dc34d5e1631d3.FLOATVerifiers:226:30\n |\n226 | access(all) struct Email: FLOAT.IVerifier {\n | ^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FLOAT`\n --\u003e 857dc34d5e1631d3.FLOATVerifiers:94:51\n |\n94 | let floatEvent = params[\"event\"]! as! \u0026FLOAT.FLOATEvent\n | ^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FLOAT`\n --\u003e 857dc34d5e1631d3.FLOATVerifiers:230:51\n |\n230 | let floatEvent = params[\"event\"]! as! \u0026FLOAT.FLOATEvent\n | ^^^^^ not found in this scope\n"},{"kind":"contract-update-success","account_address":"0xf8ba321af4bd37bb","contract_name":"aiSportsMinter"},{"kind":"contract-update-success","account_address":"0xe45c64ecfe31e465","contract_name":"DelegatorManager"},{"kind":"contract-update-success","account_address":"0xe45c64ecfe31e465","contract_name":"LiquidStaking"},{"kind":"contract-update-success","account_address":"0xe45c64ecfe31e465","contract_name":"LiquidStakingConfig"},{"kind":"contract-update-success","account_address":"0xe45c64ecfe31e465","contract_name":"LiquidStakingError"},{"kind":"contract-update-success","account_address":"0xe45c64ecfe31e465","contract_name":"stFlowToken"},{"kind":"contract-update-success","account_address":"0x2a9b59c3e2b72ee0","contract_name":"OracleConfig"},{"kind":"contract-update-success","account_address":"0x2a9b59c3e2b72ee0","contract_name":"OracleInterface"},{"kind":"contract-update-success","account_address":"0x6c35f966375845a6","contract_name":"TixologiTickets"},{"kind":"contract-update-success","account_address":"0xad26718c4b6b921b","contract_name":"BlackHole"},{"kind":"contract-update-success","account_address":"0x683564e46977788a","contract_name":"MFLAdmin"},{"kind":"contract-update-success","account_address":"0x683564e46977788a","contract_name":"MFLClub"},{"kind":"contract-update-success","account_address":"0x683564e46977788a","contract_name":"MFLPack"},{"kind":"contract-update-success","account_address":"0x683564e46977788a","contract_name":"MFLPackTemplate"},{"kind":"contract-update-success","account_address":"0x683564e46977788a","contract_name":"MFLPlayer"},{"kind":"contract-update-success","account_address":"0x683564e46977788a","contract_name":"MFLViews"},{"kind":"contract-update-success","account_address":"0xcc4e949596cf8ced","contract_name":"TwoSegmentsInterestRateModel"},{"kind":"contract-update-success","account_address":"0x23031fd14bb0f21b","contract_name":"TwoSegmentsInterestRateModel"},{"kind":"contract-update-success","account_address":"0x92362a384f409a52","contract_name":"TrmAssetV2_2"},{"kind":"contract-update-success","account_address":"0x92362a384f409a52","contract_name":"TrmMarketV2_2"},{"kind":"contract-update-success","account_address":"0x92362a384f409a52","contract_name":"TrmRentV2_2"},{"kind":"contract-update-failure","account_address":"0xb39a42479c1c2c77","contract_name":"AFLAdmin","error":"error: error getting program b39a42479c1c2c77.AFLPack: failed to derive value: load program failed: Checking failed:\nerror: error getting program a983fecbed621163.FiatToken: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :5:0\n |\n5 | pub contract FiatToken: FungibleToken {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :10:4\n |\n10 | pub event AdminCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :11:4\n |\n11 | pub event AdminChanged(address: Address, resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:4\n |\n14 | pub event OwnerCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :15:4\n |\n15 | pub event OwnerChanged(address: Address, resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :18:4\n |\n18 | pub event MasterMinterCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:4\n |\n19 | pub event MasterMinterChanged(address: Address, resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :22:4\n |\n22 | pub event Paused()\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :23:4\n |\n23 | pub event Unpaused()\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :24:4\n |\n24 | pub event PauserCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :25:4\n |\n25 | pub event PauserChanged(address: Address, resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub event Blocklisted(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :29:4\n |\n29 | pub event Unblocklisted(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :30:4\n |\n30 | pub event BlocklisterCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :31:4\n |\n31 | pub event BlocklisterChanged(address: Address, resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :34:4\n |\n34 | pub event NewVault(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :35:4\n |\n35 | pub event DestroyVault(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :36:4\n |\n36 | pub event FiatTokenWithdrawn(amount: UFix64, from: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :37:4\n |\n37 | pub event FiatTokenDeposited(amount: UFix64, to: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :40:4\n |\n40 | pub event MinterCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :41:4\n |\n41 | pub event MinterControllerCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :42:4\n |\n42 | pub event Mint(minter: UInt64, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :43:4\n |\n43 | pub event Burn(minter: UInt64, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :44:4\n |\n44 | pub event MinterConfigured(controller: UInt64, minter: UInt64, allowance: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :45:4\n |\n45 | pub event MinterRemoved(controller: UInt64, minter: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :46:4\n |\n46 | pub event ControllerConfigured(controller: UInt64, minter: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :47:4\n |\n47 | pub event ControllerRemoved(controller: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :52:4\n |\n52 | pub event TokensInitialized(initialSupply: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :53:4\n |\n53 | pub event TokensWithdrawn(amount: UFix64, from: Address?)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :54:4\n |\n54 | pub event TokensDeposited(amount: UFix64, to: Address?)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:4\n |\n59 | pub let VaultStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :60:4\n |\n60 | pub let VaultBalancePubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :61:4\n |\n61 | pub let VaultUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :62:4\n |\n62 | pub let VaultReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :64:4\n |\n64 | pub let BlocklistExecutorStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :66:4\n |\n66 | pub let BlocklisterStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :67:4\n |\n67 | pub let BlocklisterCapReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :68:4\n |\n68 | pub let BlocklisterUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:4\n |\n69 | pub let BlocklisterPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :71:4\n |\n71 | pub let PauseExecutorStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :73:4\n |\n73 | pub let PauserStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :74:4\n |\n74 | pub let PauserCapReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :75:4\n |\n75 | pub let PauserUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :76:4\n |\n76 | pub let PauserPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :78:4\n |\n78 | pub let AdminExecutorStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :80:4\n |\n80 | pub let AdminStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :81:4\n |\n81 | pub let AdminCapReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:4\n |\n82 | pub let AdminUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :83:4\n |\n83 | pub let AdminPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :85:4\n |\n85 | pub let OwnerExecutorStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :87:4\n |\n87 | pub let OwnerStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :88:4\n |\n88 | pub let OwnerCapReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :89:4\n |\n89 | pub let OwnerUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:4\n |\n90 | pub let OwnerPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :92:4\n |\n92 | pub let MasterMinterExecutorStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :94:4\n |\n94 | pub let MasterMinterStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :95:4\n |\n95 | pub let MasterMinterCapReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :96:4\n |\n96 | pub let MasterMinterUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :97:4\n |\n97 | pub let MasterMinterPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:4\n |\n99 | pub let MinterControllerStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :100:4\n |\n100 | pub let MinterControllerUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :101:4\n |\n101 | pub let MinterControllerPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :103:4\n |\n103 | pub let MinterStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :104:4\n |\n104 | pub let MinterUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:4\n |\n109 | pub let name: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :110:4\n |\n110 | pub var version: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :112:4\n |\n112 | pub var paused: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :114:4\n |\n114 | pub var totalSupply: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :125:4\n |\n125 | pub resource interface ResourceId {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:8\n |\n126 | pub fun UUID(): UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :129:4\n |\n129 | pub resource interface AdminCapReceiver {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :130:8\n |\n130 | pub fun setAdminCap(cap: Capability\u003c\u0026AdminExecutor\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:4\n |\n133 | pub resource interface OwnerCapReceiver {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :134:8\n |\n134 | pub fun setOwnerCap(cap: Capability\u003c\u0026OwnerExecutor\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :137:4\n |\n137 | pub resource interface MasterMinterCapReceiver {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :138:8\n |\n138 | pub fun setMasterMinterCap(cap: Capability\u003c\u0026MasterMinterExecutor\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :141:4\n |\n141 | pub resource interface BlocklisterCapReceiver {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:8\n |\n142 | pub fun setBlocklistCap(cap: Capability\u003c\u0026BlocklistExecutor\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :145:4\n |\n145 | pub resource interface PauseCapReceiver {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :146:8\n |\n146 | pub fun setPauseCap(cap: Capability\u003c\u0026PauseExecutor\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :186:4\n |\n186 | pub resource Vault:\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:8\n |\n192 | pub var balance: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:8\n |\n194 | pub fun withdraw(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :205:8\n |\n205 | pub fun deposit(from: @FungibleToken.Vault) {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :219:8\n |\n219 | pub fun UUID(): UInt64 {\n | ^^^\n\nerror: custom destructor definitions are no longer permitted\n --\u003e :231:8\n |\n231 | destroy() {\n | ^ remove the destructor definition\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :244:4\n |\n244 | pub resource AdminExecutor {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :248:8\n |\n248 | pub fun upgradeContract(name: String, code: [UInt8], version: String) {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :252:8\n |\n252 | pub fun changeAdmin(to: Address, newPath: PrivatePath) {\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :255:38\n |\n255 | .getCapability\u003c\u0026Admin{AdminCapReceiver}\u003e(FiatToken.AdminCapReceiverPubPath)\n | ^^^^^^^^^^^^^^^^\n\n--\u003e a983fecbed621163.FiatToken\n\nerror: cannot find type in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLPack:23:48\n\nerror: cannot find type in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLPack:165:55\n\nerror: cannot find variable in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLPack:165:72\n\nerror: cannot infer type parameter: `T`\n --\u003e b39a42479c1c2c77.AFLPack:165:24\n\nerror: cannot find type in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLPack:111:38\n\nerror: cannot find type in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLPack:112:35\n\nerror: cannot infer type parameter: `T`\n --\u003e b39a42479c1c2c77.AFLPack:111:56\n\nerror: cannot infer type parameter: `T`\n --\u003e b39a42479c1c2c77.AFLPack:111:56\n\n--\u003e b39a42479c1c2c77.AFLPack\n"},{"kind":"contract-update-success","account_address":"0xb39a42479c1c2c77","contract_name":"AFLBadges"},{"kind":"contract-update-success","account_address":"0xb39a42479c1c2c77","contract_name":"AFLBurnExchange"},{"kind":"contract-update-success","account_address":"0xb39a42479c1c2c77","contract_name":"AFLBurnRegistry"},{"kind":"contract-update-success","account_address":"0xb39a42479c1c2c77","contract_name":"AFLIndex"},{"kind":"contract-update-failure","account_address":"0xb39a42479c1c2c77","contract_name":"AFLMarketplace","error":"error: error getting program a983fecbed621163.FiatToken: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :5:0\n |\n5 | pub contract FiatToken: FungibleToken {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :10:4\n |\n10 | pub event AdminCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :11:4\n |\n11 | pub event AdminChanged(address: Address, resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:4\n |\n14 | pub event OwnerCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :15:4\n |\n15 | pub event OwnerChanged(address: Address, resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :18:4\n |\n18 | pub event MasterMinterCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:4\n |\n19 | pub event MasterMinterChanged(address: Address, resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :22:4\n |\n22 | pub event Paused()\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :23:4\n |\n23 | pub event Unpaused()\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :24:4\n |\n24 | pub event PauserCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :25:4\n |\n25 | pub event PauserChanged(address: Address, resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub event Blocklisted(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :29:4\n |\n29 | pub event Unblocklisted(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :30:4\n |\n30 | pub event BlocklisterCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :31:4\n |\n31 | pub event BlocklisterChanged(address: Address, resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :34:4\n |\n34 | pub event NewVault(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :35:4\n |\n35 | pub event DestroyVault(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :36:4\n |\n36 | pub event FiatTokenWithdrawn(amount: UFix64, from: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :37:4\n |\n37 | pub event FiatTokenDeposited(amount: UFix64, to: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :40:4\n |\n40 | pub event MinterCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :41:4\n |\n41 | pub event MinterControllerCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :42:4\n |\n42 | pub event Mint(minter: UInt64, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :43:4\n |\n43 | pub event Burn(minter: UInt64, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :44:4\n |\n44 | pub event MinterConfigured(controller: UInt64, minter: UInt64, allowance: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :45:4\n |\n45 | pub event MinterRemoved(controller: UInt64, minter: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :46:4\n |\n46 | pub event ControllerConfigured(controller: UInt64, minter: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :47:4\n |\n47 | pub event ControllerRemoved(controller: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :52:4\n |\n52 | pub event TokensInitialized(initialSupply: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :53:4\n |\n53 | pub event TokensWithdrawn(amount: UFix64, from: Address?)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :54:4\n |\n54 | pub event TokensDeposited(amount: UFix64, to: Address?)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:4\n |\n59 | pub let VaultStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :60:4\n |\n60 | pub let VaultBalancePubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :61:4\n |\n61 | pub let VaultUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :62:4\n |\n62 | pub let VaultReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :64:4\n |\n64 | pub let BlocklistExecutorStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :66:4\n |\n66 | pub let BlocklisterStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :67:4\n |\n67 | pub let BlocklisterCapReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :68:4\n |\n68 | pub let BlocklisterUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:4\n |\n69 | pub let BlocklisterPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :71:4\n |\n71 | pub let PauseExecutorStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :73:4\n |\n73 | pub let PauserStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :74:4\n |\n74 | pub let PauserCapReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :75:4\n |\n75 | pub let PauserUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :76:4\n |\n76 | pub let PauserPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :78:4\n |\n78 | pub let AdminExecutorStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :80:4\n |\n80 | pub let AdminStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :81:4\n |\n81 | pub let AdminCapReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:4\n |\n82 | pub let AdminUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :83:4\n |\n83 | pub let AdminPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :85:4\n |\n85 | pub let OwnerExecutorStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :87:4\n |\n87 | pub let OwnerStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :88:4\n |\n88 | pub let OwnerCapReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :89:4\n |\n89 | pub let OwnerUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:4\n |\n90 | pub let OwnerPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :92:4\n |\n92 | pub let MasterMinterExecutorStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :94:4\n |\n94 | pub let MasterMinterStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :95:4\n |\n95 | pub let MasterMinterCapReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :96:4\n |\n96 | pub let MasterMinterUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :97:4\n |\n97 | pub let MasterMinterPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:4\n |\n99 | pub let MinterControllerStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :100:4\n |\n100 | pub let MinterControllerUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :101:4\n |\n101 | pub let MinterControllerPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :103:4\n |\n103 | pub let MinterStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :104:4\n |\n104 | pub let MinterUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:4\n |\n109 | pub let name: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :110:4\n |\n110 | pub var version: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :112:4\n |\n112 | pub var paused: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :114:4\n |\n114 | pub var totalSupply: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :125:4\n |\n125 | pub resource interface ResourceId {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:8\n |\n126 | pub fun UUID(): UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :129:4\n |\n129 | pub resource interface AdminCapReceiver {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :130:8\n |\n130 | pub fun setAdminCap(cap: Capability\u003c\u0026AdminExecutor\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:4\n |\n133 | pub resource interface OwnerCapReceiver {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :134:8\n |\n134 | pub fun setOwnerCap(cap: Capability\u003c\u0026OwnerExecutor\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :137:4\n |\n137 | pub resource interface MasterMinterCapReceiver {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :138:8\n |\n138 | pub fun setMasterMinterCap(cap: Capability\u003c\u0026MasterMinterExecutor\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :141:4\n |\n141 | pub resource interface BlocklisterCapReceiver {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:8\n |\n142 | pub fun setBlocklistCap(cap: Capability\u003c\u0026BlocklistExecutor\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :145:4\n |\n145 | pub resource interface PauseCapReceiver {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :146:8\n |\n146 | pub fun setPauseCap(cap: Capability\u003c\u0026PauseExecutor\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :186:4\n |\n186 | pub resource Vault:\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:8\n |\n192 | pub var balance: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:8\n |\n194 | pub fun withdraw(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :205:8\n |\n205 | pub fun deposit(from: @FungibleToken.Vault) {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :219:8\n |\n219 | pub fun UUID(): UInt64 {\n | ^^^\n\nerror: custom destructor definitions are no longer permitted\n --\u003e :231:8\n |\n231 | destroy() {\n | ^ remove the destructor definition\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :244:4\n |\n244 | pub resource AdminExecutor {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :248:8\n |\n248 | pub fun upgradeContract(name: String, code: [UInt8], version: String) {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :252:8\n |\n252 | pub fun changeAdmin(to: Address, newPath: PrivatePath) {\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :255:38\n |\n255 | .getCapability\u003c\u0026Admin{AdminCapReceiver}\u003e(FiatToken.AdminCapReceiverPubPath)\n | ^^^^^^^^^^^^^^^^\n\n--\u003e a983fecbed621163.FiatToken\n\nerror: cannot find type in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLMarketplace:79:33\n |\n79 | init (vault: Capability\u003c\u0026FiatToken.Vault\u003e) {\n | ^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLMarketplace:77:49\n |\n77 | access(self) let ownerVault: Capability\u003c\u0026FiatToken.Vault\u003e\n | ^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLMarketplace:259:70\n |\n259 | access(all) fun changeMarketplaceWallet(_ newCap: Capability\u003c\u0026FiatToken.Vault\u003e) {\n | ^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLMarketplace:12:56\n |\n12 | access(contract) var marketplaceWallet: Capability\u003c\u0026FiatToken.Vault\u003e\n | ^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLMarketplace:242:65\n |\n242 | access(all) fun createSaleCollection(ownerVault: Capability\u003c\u0026FiatToken.Vault\u003e): @SaleCollection {\n | ^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLMarketplace:277:64\n |\n277 | self.marketplaceWallet = self.account.capabilities.get\u003c\u0026FiatToken.Vault\u003e(/public/FiatTokenVaultReceiver)\n | ^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e b39a42479c1c2c77.AFLMarketplace:277:33\n |\n277 | self.marketplaceWallet = self.account.capabilities.get\u003c\u0026FiatToken.Vault\u003e(/public/FiatTokenVaultReceiver)\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find type in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLMarketplace:119:36\n |\n119 | let saleOwnerVaultRef: \u0026FiatToken.Vault = self.ownerVault.borrow() ?? panic(\"could not borrow reference to the owner vault\")\n | ^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLMarketplace:126:36\n |\n126 | let marketplaceWallet: \u0026FiatToken.Vault = AFLMarketplace.marketplaceWallet.borrow() ?? panic(\"Couldn't borrow Vault reference\")\n | ^^^^^^^^^ not found in this scope\n"},{"kind":"contract-update-success","account_address":"0xb39a42479c1c2c77","contract_name":"AFLMetadataHelper"},{"kind":"contract-update-success","account_address":"0xb39a42479c1c2c77","contract_name":"AFLNFT"},{"kind":"contract-update-failure","account_address":"0xb39a42479c1c2c77","contract_name":"AFLPack","error":"error: error getting program a983fecbed621163.FiatToken: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :5:0\n |\n5 | pub contract FiatToken: FungibleToken {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :10:4\n |\n10 | pub event AdminCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :11:4\n |\n11 | pub event AdminChanged(address: Address, resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:4\n |\n14 | pub event OwnerCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :15:4\n |\n15 | pub event OwnerChanged(address: Address, resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :18:4\n |\n18 | pub event MasterMinterCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:4\n |\n19 | pub event MasterMinterChanged(address: Address, resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :22:4\n |\n22 | pub event Paused()\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :23:4\n |\n23 | pub event Unpaused()\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :24:4\n |\n24 | pub event PauserCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :25:4\n |\n25 | pub event PauserChanged(address: Address, resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub event Blocklisted(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :29:4\n |\n29 | pub event Unblocklisted(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :30:4\n |\n30 | pub event BlocklisterCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :31:4\n |\n31 | pub event BlocklisterChanged(address: Address, resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :34:4\n |\n34 | pub event NewVault(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :35:4\n |\n35 | pub event DestroyVault(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :36:4\n |\n36 | pub event FiatTokenWithdrawn(amount: UFix64, from: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :37:4\n |\n37 | pub event FiatTokenDeposited(amount: UFix64, to: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :40:4\n |\n40 | pub event MinterCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :41:4\n |\n41 | pub event MinterControllerCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :42:4\n |\n42 | pub event Mint(minter: UInt64, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :43:4\n |\n43 | pub event Burn(minter: UInt64, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :44:4\n |\n44 | pub event MinterConfigured(controller: UInt64, minter: UInt64, allowance: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :45:4\n |\n45 | pub event MinterRemoved(controller: UInt64, minter: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :46:4\n |\n46 | pub event ControllerConfigured(controller: UInt64, minter: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :47:4\n |\n47 | pub event ControllerRemoved(controller: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :52:4\n |\n52 | pub event TokensInitialized(initialSupply: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :53:4\n |\n53 | pub event TokensWithdrawn(amount: UFix64, from: Address?)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :54:4\n |\n54 | pub event TokensDeposited(amount: UFix64, to: Address?)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:4\n |\n59 | pub let VaultStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :60:4\n |\n60 | pub let VaultBalancePubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :61:4\n |\n61 | pub let VaultUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :62:4\n |\n62 | pub let VaultReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :64:4\n |\n64 | pub let BlocklistExecutorStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :66:4\n |\n66 | pub let BlocklisterStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :67:4\n |\n67 | pub let BlocklisterCapReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :68:4\n |\n68 | pub let BlocklisterUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:4\n |\n69 | pub let BlocklisterPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :71:4\n |\n71 | pub let PauseExecutorStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :73:4\n |\n73 | pub let PauserStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :74:4\n |\n74 | pub let PauserCapReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :75:4\n |\n75 | pub let PauserUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :76:4\n |\n76 | pub let PauserPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :78:4\n |\n78 | pub let AdminExecutorStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :80:4\n |\n80 | pub let AdminStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :81:4\n |\n81 | pub let AdminCapReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:4\n |\n82 | pub let AdminUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :83:4\n |\n83 | pub let AdminPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :85:4\n |\n85 | pub let OwnerExecutorStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :87:4\n |\n87 | pub let OwnerStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :88:4\n |\n88 | pub let OwnerCapReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :89:4\n |\n89 | pub let OwnerUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:4\n |\n90 | pub let OwnerPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :92:4\n |\n92 | pub let MasterMinterExecutorStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :94:4\n |\n94 | pub let MasterMinterStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :95:4\n |\n95 | pub let MasterMinterCapReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :96:4\n |\n96 | pub let MasterMinterUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :97:4\n |\n97 | pub let MasterMinterPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:4\n |\n99 | pub let MinterControllerStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :100:4\n |\n100 | pub let MinterControllerUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :101:4\n |\n101 | pub let MinterControllerPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :103:4\n |\n103 | pub let MinterStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :104:4\n |\n104 | pub let MinterUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:4\n |\n109 | pub let name: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :110:4\n |\n110 | pub var version: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :112:4\n |\n112 | pub var paused: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :114:4\n |\n114 | pub var totalSupply: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :125:4\n |\n125 | pub resource interface ResourceId {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:8\n |\n126 | pub fun UUID(): UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :129:4\n |\n129 | pub resource interface AdminCapReceiver {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :130:8\n |\n130 | pub fun setAdminCap(cap: Capability\u003c\u0026AdminExecutor\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:4\n |\n133 | pub resource interface OwnerCapReceiver {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :134:8\n |\n134 | pub fun setOwnerCap(cap: Capability\u003c\u0026OwnerExecutor\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :137:4\n |\n137 | pub resource interface MasterMinterCapReceiver {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :138:8\n |\n138 | pub fun setMasterMinterCap(cap: Capability\u003c\u0026MasterMinterExecutor\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :141:4\n |\n141 | pub resource interface BlocklisterCapReceiver {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:8\n |\n142 | pub fun setBlocklistCap(cap: Capability\u003c\u0026BlocklistExecutor\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :145:4\n |\n145 | pub resource interface PauseCapReceiver {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :146:8\n |\n146 | pub fun setPauseCap(cap: Capability\u003c\u0026PauseExecutor\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :186:4\n |\n186 | pub resource Vault:\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:8\n |\n192 | pub var balance: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:8\n |\n194 | pub fun withdraw(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :205:8\n |\n205 | pub fun deposit(from: @FungibleToken.Vault) {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :219:8\n |\n219 | pub fun UUID(): UInt64 {\n | ^^^\n\nerror: custom destructor definitions are no longer permitted\n --\u003e :231:8\n |\n231 | destroy() {\n | ^ remove the destructor definition\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :244:4\n |\n244 | pub resource AdminExecutor {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :248:8\n |\n248 | pub fun upgradeContract(name: String, code: [UInt8], version: String) {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :252:8\n |\n252 | pub fun changeAdmin(to: Address, newPath: PrivatePath) {\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :255:38\n |\n255 | .getCapability\u003c\u0026Admin{AdminCapReceiver}\u003e(FiatToken.AdminCapReceiverPubPath)\n | ^^^^^^^^^^^^^^^^\n\n--\u003e a983fecbed621163.FiatToken\n\nerror: cannot find type in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLPack:23:48\n |\n23 | access(contract) let adminRef : Capability\u003c\u0026FiatToken.Vault\u003e\n | ^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLPack:165:55\n |\n165 | self.adminRef = self.account.capabilities.get\u003c\u0026FiatToken.Vault\u003e(FiatToken.VaultReceiverPubPath)\n | ^^^^^^^^^ not found in this scope\n\nerror: cannot find variable in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLPack:165:72\n |\n165 | self.adminRef = self.account.capabilities.get\u003c\u0026FiatToken.Vault\u003e(FiatToken.VaultReceiverPubPath)\n | ^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e b39a42479c1c2c77.AFLPack:165:24\n |\n165 | self.adminRef = self.account.capabilities.get\u003c\u0026FiatToken.Vault\u003e(FiatToken.VaultReceiverPubPath)\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find type in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLPack:111:38\n |\n111 | let recipientCollection: \u0026FiatToken.Vault = receiptAccount\n | ^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLPack:112:35\n |\n112 | .capabilities.get\u003c\u0026FiatToken.Vault\u003e(/public/FiatTokenVaultReceiver)\n | ^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e b39a42479c1c2c77.AFLPack:111:56\n |\n111 | let recipientCollection: \u0026FiatToken.Vault = receiptAccount\n112 | .capabilities.get\u003c\u0026FiatToken.Vault\u003e(/public/FiatTokenVaultReceiver)\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot infer type parameter: `T`\n --\u003e b39a42479c1c2c77.AFLPack:111:56\n |\n111 | let recipientCollection: \u0026FiatToken.Vault = receiptAccount\n112 | .capabilities.get\u003c\u0026FiatToken.Vault\u003e(/public/FiatTokenVaultReceiver)\n113 | .borrow()\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n"},{"kind":"contract-update-success","account_address":"0xb39a42479c1c2c77","contract_name":"PackRestrictions"},{"kind":"contract-update-success","account_address":"0xb39a42479c1c2c77","contract_name":"StorageHelper"},{"kind":"contract-update-success","account_address":"0x6b2e1b9d3c5ac5db","contract_name":"ValueLink_NFTMarketplace_v1"},{"kind":"contract-update-success","account_address":"0x6b2e1b9d3c5ac5db","contract_name":"ValueLink_NFT_v1"},{"kind":"contract-update-success","account_address":"0xb668e8c9726ef26b","contract_name":"FanTopMarket"},{"kind":"contract-update-success","account_address":"0xb668e8c9726ef26b","contract_name":"FanTopPermission"},{"kind":"contract-update-success","account_address":"0xb668e8c9726ef26b","contract_name":"FanTopPermissionV2a"},{"kind":"contract-update-success","account_address":"0xb668e8c9726ef26b","contract_name":"FanTopSerial"},{"kind":"contract-update-success","account_address":"0x94b06cfca1d8a476","contract_name":"NFTStorefront"},{"kind":"contract-update-success","account_address":"0xb668e8c9726ef26b","contract_name":"FanTopToken"},{"kind":"contract-update-success","account_address":"0xb668e8c9726ef26b","contract_name":"Signature"},{"kind":"contract-update-success","account_address":"0xe7d5fb4c128b85b7","contract_name":"Genies"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"ETHUtils"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"EVMAgent"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FGameLottery"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FGameLotteryFactory"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FGameLotteryRegistry"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FGameRugRoyale"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20AccountsPool"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20Agents"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20Converter"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20FTShared"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20FungibleToken"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20Indexer"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20MarketManager"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20Marketplace"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20NFTWrapper"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20SemiNFT"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20Staking"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20StakingForwarder"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20StakingManager"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20StakingVesting"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20Storefront"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20TradingRecord"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20VoteCommands"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20Votes"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"Fixes"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FixesAssetMeta"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FixesAvatar"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FixesBondingCurve"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FixesFungibleToken"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FixesFungibleTokenInterface"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FixesHeartbeat"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FixesInscriptionFactory"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FixesTokenAirDrops"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FixesTokenLockDrops"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FixesTradablePool"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FixesTraits"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FixesWrappedNFT"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FungibleTokenManager"},{"kind":"contract-update-success","account_address":"0x3b220a3372190656","contract_name":"PriceOracle"},{"kind":"contract-update-success","account_address":"0x324c34e1c517e4db","contract_name":"NFTCatalog"},{"kind":"contract-update-success","account_address":"0x324c34e1c517e4db","contract_name":"NFTCatalogAdmin"},{"kind":"contract-update-success","account_address":"0x324c34e1c517e4db","contract_name":"NFTRetrieval"},{"kind":"contract-update-success","account_address":"0xe223d8a629e49c68","contract_name":"FUSD"},{"kind":"contract-update-success","account_address":"0xd9c02cdacccb25ab","contract_name":"FlowtyTestNFT"},{"kind":"contract-update-success","account_address":"0x886d5599b3bfc873","contract_name":"A"},{"kind":"contract-update-success","account_address":"0x886d5599b3bfc873","contract_name":"B"},{"kind":"contract-update-success","account_address":"0xb86f928a1fa7798e","contract_name":"FTViewUtils"},{"kind":"contract-update-success","account_address":"0xb86f928a1fa7798e","contract_name":"TokenList"},{"kind":"contract-update-success","account_address":"0xb86f928a1fa7798e","contract_name":"ViewResolvers"},{"kind":"contract-update-success","account_address":"0x917db7072ed7160b","contract_name":"Cryptoys"},{"kind":"contract-update-success","account_address":"0x917db7072ed7160b","contract_name":"CryptoysMetadataView2"},{"kind":"contract-update-success","account_address":"0x917db7072ed7160b","contract_name":"ICryptoys"},{"kind":"contract-update-success","account_address":"0x08b1f9c0bc04f36f","contract_name":"IconoGraphika"},{"kind":"contract-update-success","account_address":"0xe1d43e0cfc237807","contract_name":"Flowty"},{"kind":"contract-update-success","account_address":"0xe1d43e0cfc237807","contract_name":"FlowtyRentals"},{"kind":"contract-update-success","account_address":"0xe1d43e0cfc237807","contract_name":"RoyaltiesLedger"},{"kind":"contract-update-success","account_address":"0x3a52faafb43951c0","contract_name":"BigEast"},{"kind":"contract-update-success","account_address":"0x3a52faafb43951c0","contract_name":"LNVCT"},{"kind":"contract-update-success","account_address":"0x3a52faafb43951c0","contract_name":"MLS"},{"kind":"contract-update-success","account_address":"0x3a52faafb43951c0","contract_name":"NFL"},{"kind":"contract-update-success","account_address":"0x3a52faafb43951c0","contract_name":"Sharks"},{"kind":"contract-update-success","account_address":"0x3a52faafb43951c0","contract_name":"Stanz"},{"kind":"contract-update-success","account_address":"0x3a52faafb43951c0","contract_name":"TMNFT"},{"kind":"contract-update-success","account_address":"0x24650d6246d4176c","contract_name":"PriceOracle"},{"kind":"contract-update-success","account_address":"0x51ea0e37c27a1f1a","contract_name":"TokenForwarding"},{"kind":"contract-update-success","account_address":"0xa63ecf66edb620ef","contract_name":"ZeedzINO"},{"kind":"contract-update-success","account_address":"0x9e324d8ae3cbd0f0","contract_name":"LendingPool"},{"kind":"contract-update-failure","account_address":"0x9392a4a7c3f49a0b","contract_name":"DummyDustTokenMinter","error":"error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.DummyDustTokenMinter:8:23\n |\n8 | \tresource DummyMinter: Toucans.Minter{ \n | \t ^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.DummyDustTokenMinter:10:29\n |\n10 | \t\tfun mint(amount: UFix64): @FlovatarDustToken.Vault{ \n | \t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find variable in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.DummyDustTokenMinter:11:12\n |\n11 | \t\t\treturn \u003c-FlovatarDustToken.createEmptyDustVault()\n | \t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n"},{"kind":"contract-update-failure","account_address":"0x9392a4a7c3f49a0b","contract_name":"Flobot","error":"error: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:31\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:25\n\n--\u003e 9392a4a7c3f49a0b.FlovatarPack\n"},{"kind":"contract-update-failure","account_address":"0x9392a4a7c3f49a0b","contract_name":"Flovatar","error":"error: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:31\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:25\n\n--\u003e 9392a4a7c3f49a0b.FlovatarPack\n\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarPack`\n --\u003e 9392a4a7c3f49a0b.Flovatar:1435:144\n |\n1435 | \t\tfun createPack(components: @[FlovatarComponent.NFT], randomString: String, price: UFix64, sparkCount: UInt32, series: UInt32, name: String): @FlovatarPack.Pack{ \n | \t\t ^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:365:27\n |\n365 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:365:21\n |\n365 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:397:27\n |\n397 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:397:21\n |\n397 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:417:27\n |\n417 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:417:21\n |\n417 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:434:27\n |\n434 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:434:21\n |\n434 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:458:27\n |\n458 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:458:21\n |\n458 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find variable in this scope: `FlovatarPack`\n --\u003e 9392a4a7c3f49a0b.Flovatar:1436:12\n |\n1436 | \t\t\treturn \u003c-FlovatarPack.createPack(components: \u003c-components, randomString: randomString, price: price, sparkCount: sparkCount, series: series, name: name)\n | \t\t\t ^^^^^^^^^^^^ not found in this scope\n"},{"kind":"contract-update-success","account_address":"0x8d5aac1da9c370bc","contract_name":"A"},{"kind":"contract-update-success","account_address":"0x8d5aac1da9c370bc","contract_name":"B"},{"kind":"contract-update-success","account_address":"0x8d5aac1da9c370bc","contract_name":"Contract"},{"kind":"contract-update-success","account_address":"0x9392a4a7c3f49a0b","contract_name":"FlovatarComponent"},{"kind":"contract-update-success","account_address":"0x9392a4a7c3f49a0b","contract_name":"FlovatarComponentTemplate"},{"kind":"contract-update-failure","account_address":"0x9392a4a7c3f49a0b","contract_name":"FlovatarComponentUpgrader","error":"error: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:31\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:25\n\n--\u003e 9392a4a7c3f49a0b.FlovatarPack\n\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: error getting program 9392a4a7c3f49a0b.FlovatarInbox: failed to derive value: load program failed: Checking failed:\nerror: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:31\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:25\n\n--\u003e 9392a4a7c3f49a0b.FlovatarPack\n\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: error getting program 9392a4a7c3f49a0b.Flovatar: failed to derive value: load program failed: Checking failed:\nerror: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:31\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:25\n\n--\u003e 9392a4a7c3f49a0b.FlovatarPack\n\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarPack`\n --\u003e 9392a4a7c3f49a0b.Flovatar:1435:144\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:365:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:365:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:397:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:397:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:417:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:417:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:434:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:434:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:458:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:458:21\n\nerror: cannot find variable in this scope: `FlovatarPack`\n --\u003e 9392a4a7c3f49a0b.Flovatar:1436:12\n\n--\u003e 9392a4a7c3f49a0b.Flovatar\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:122:18\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:37:22\n\nerror: cannot find variable in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:643:25\n\nerror: cannot find variable in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:390:21\n\nerror: cannot find variable in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:453:21\n\nerror: cannot find variable in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:455:83\n\nerror: cannot find variable in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:478:6\n\nerror: cannot find variable in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:500:3\n\nerror: cannot find variable in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:542:83\n\nerror: cannot find variable in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:578:83\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:601:26\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:601:20\n\nerror: cannot find variable in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:132:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:235:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:235:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:246:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:246:21\n\n--\u003e 9392a4a7c3f49a0b.FlovatarInbox\n\nerror: error getting program 9392a4a7c3f49a0b.Flovatar: failed to derive value: load program failed: Checking failed:\nerror: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:31\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:25\n\n--\u003e 9392a4a7c3f49a0b.FlovatarPack\n\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarPack`\n --\u003e 9392a4a7c3f49a0b.Flovatar:1435:144\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:365:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:365:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:397:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:397:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:417:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:417:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:434:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:434:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:458:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:458:21\n\nerror: cannot find variable in this scope: `FlovatarPack`\n --\u003e 9392a4a7c3f49a0b.Flovatar:1436:12\n\n--\u003e 9392a4a7c3f49a0b.Flovatar\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarComponentUpgrader:202:26\n |\n202 | \t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarComponentUpgrader:202:20\n |\n202 | \t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find type in this scope: `FlovatarInbox`\n --\u003e 9392a4a7c3f49a0b.FlovatarComponentUpgrader:258:65\n |\n258 | \t\t\t\tself.account.storage.borrow\u003cauth(NonFungibleToken.Withdraw) \u0026FlovatarInbox.Collection\u003e(\n | \t\t\t\t ^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find variable in this scope: `FlovatarInbox`\n --\u003e 9392a4a7c3f49a0b.FlovatarComponentUpgrader:259:11\n |\n259 | \t\t\t\t\tfrom: FlovatarInbox.CollectionStoragePath\n | \t\t\t\t\t ^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarComponentUpgrader:258:4\n |\n258 | \t\t\t\tself.account.storage.borrow\u003cauth(NonFungibleToken.Withdraw) \u0026FlovatarInbox.Collection\u003e(\n259 | \t\t\t\t\tfrom: FlovatarInbox.CollectionStoragePath\n260 | \t\t\t\t){ \n | \t\t\t\t^\n"},{"kind":"contract-update-failure","account_address":"0x9392a4a7c3f49a0b","contract_name":"FlovatarDustCollectible","error":"error: error getting program 9392a4a7c3f49a0b.FlovatarDustCollectibleAccessory: failed to derive value: load program failed: Checking failed:\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectibleAccessory:562:26\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectibleAccessory:562:20\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustCollectibleAccessory\n\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarDustCollectibleAccessory`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:193:46\n |\n193 | \t\tfun setAccessory(layer: UInt32, accessory: @FlovatarDustCollectibleAccessory.NFT): @FlovatarDustCollectibleAccessory.NFT?\n | \t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FlovatarDustCollectibleAccessory`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:193:86\n |\n193 | \t\tfun setAccessory(layer: UInt32, accessory: @FlovatarDustCollectibleAccessory.NFT): @FlovatarDustCollectibleAccessory.NFT?\n | \t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FlovatarDustCollectibleAccessory`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:196:39\n |\n196 | \t\tfun removeAccessory(layer: UInt32): @FlovatarDustCollectibleAccessory.NFT?\n | \t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FlovatarDustCollectibleAccessory`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:242:29\n |\n242 | \t\tlet accessories: @{UInt32: FlovatarDustCollectibleAccessory.NFT}\n | \t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FlovatarDustCollectibleAccessory`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:400:46\n |\n400 | \t\tfun setAccessory(layer: UInt32, accessory: @FlovatarDustCollectibleAccessory.NFT): @FlovatarDustCollectibleAccessory.NFT?{ \n | \t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FlovatarDustCollectibleAccessory`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:400:86\n |\n400 | \t\tfun setAccessory(layer: UInt32, accessory: @FlovatarDustCollectibleAccessory.NFT): @FlovatarDustCollectibleAccessory.NFT?{ \n | \t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FlovatarDustCollectibleAccessory`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:415:39\n |\n415 | \t\tfun removeAccessory(layer: UInt32): @FlovatarDustCollectibleAccessory.NFT?{ \n | \t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FlovatarDustCollectibleAccessory`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:1068:46\n |\n1068 | \t\tfun createCollectible(templateId: UInt64): @FlovatarDustCollectibleAccessory.NFT{ \n | \t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FlovatarDustCollectibleAccessory`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:1074:70\n |\n1074 | \t\tfun batchCreateCollectibles(templateId: UInt64, quantity: UInt64): @FlovatarDustCollectibleAccessory.Collection{ \n | \t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:930:26\n |\n930 | \t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:930:20\n |\n930 | \t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:311:27\n |\n311 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:311:21\n |\n311 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:343:27\n |\n343 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:343:21\n |\n343 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:370:27\n |\n370 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:370:21\n |\n370 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find variable in this scope: `FlovatarDustCollectibleAccessory`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:1069:12\n |\n1069 | \t\t\treturn \u003c-FlovatarDustCollectibleAccessory.createCollectibleAccessoryInternal(templateId: templateId)\n | \t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find variable in this scope: `FlovatarDustCollectibleAccessory`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:1075:12\n |\n1075 | \t\t\treturn \u003c-FlovatarDustCollectibleAccessory.batchCreateCollectibleAccessory(templateId: templateId, quantity: quantity)\n | \t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n"},{"kind":"contract-update-failure","account_address":"0x9392a4a7c3f49a0b","contract_name":"FlovatarDustCollectibleAccessory","error":"error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectibleAccessory:562:26\n |\n562 | \t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectibleAccessory:562:20\n |\n562 | \t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n"},{"kind":"contract-update-success","account_address":"0x9392a4a7c3f49a0b","contract_name":"FlovatarDustCollectibleTemplate"},{"kind":"contract-update-failure","account_address":"0x9392a4a7c3f49a0b","contract_name":"FlovatarDustToken","error":"error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n |\n286 | \tresource Minter: Toucans.Minter{ \n | \t ^^^^^^^ not found in this scope\n"},{"kind":"contract-update-failure","account_address":"0x9392a4a7c3f49a0b","contract_name":"FlovatarInbox","error":"error: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:31\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:25\n\n--\u003e 9392a4a7c3f49a0b.FlovatarPack\n\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: error getting program 9392a4a7c3f49a0b.Flovatar: failed to derive value: load program failed: Checking failed:\nerror: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:31\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:25\n\n--\u003e 9392a4a7c3f49a0b.FlovatarPack\n\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarPack`\n --\u003e 9392a4a7c3f49a0b.Flovatar:1435:144\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:365:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:365:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:397:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:397:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:417:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:417:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:434:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:434:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:458:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:458:21\n\nerror: cannot find variable in this scope: `FlovatarPack`\n --\u003e 9392a4a7c3f49a0b.Flovatar:1436:12\n\n--\u003e 9392a4a7c3f49a0b.Flovatar\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:122:18\n |\n122 | \t\tlet dustVault: @FlovatarDustToken.Vault\n | \t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:37:22\n |\n37 | \tlet communityVault: @FlovatarDustToken.Vault\n | \t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find variable in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:643:25\n |\n643 | \t\tself.communityVault \u003c- FlovatarDustToken.createEmptyDustVault()\n | \t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find variable in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:390:21\n |\n390 | \t\t\tif let flovatar = Flovatar.getFlovatar(address: address, flovatarId: id){ \n | \t\t\t ^^^^^^^^ not found in this scope\n\nerror: cannot find variable in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:453:21\n |\n453 | \t\t\tif let flovatar = Flovatar.getFlovatar(address: address, flovatarId: id){ \n | \t\t\t ^^^^^^^^ not found in this scope\n\nerror: cannot find variable in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:455:83\n |\n455 | \t\t\t\tlet receiverRef = (receiverAccount.capabilities.get\u003c\u0026{FungibleToken.Receiver}\u003e(FlovatarDustToken.VaultReceiverPath)!).borrow() ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n | \t\t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find variable in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:478:6\n |\n478 | \t\t\t\t\t\tFlovatarDustToken.VaultReceiverPath\n | \t\t\t\t\t\t^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find variable in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:500:3\n |\n500 | \t\t\tFlovatar.getFlovatarRarityScore(address: address, flovatarId: id){ \n | \t\t\t^^^^^^^^ not found in this scope\n\nerror: cannot find variable in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:542:83\n |\n542 | \t\t\t\tlet receiverRef = (receiverAccount.capabilities.get\u003c\u0026{FungibleToken.Receiver}\u003e(FlovatarDustToken.VaultReceiverPath)!).borrow() ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n | \t\t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find variable in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:578:83\n |\n578 | \t\t\t\tlet receiverRef = (receiverAccount.capabilities.get\u003c\u0026{FungibleToken.Receiver}\u003e(FlovatarDustToken.VaultReceiverPath)!).borrow() ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n | \t\t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:601:26\n |\n601 | \t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:601:20\n |\n601 | \t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find variable in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:132:21\n |\n132 | \t\t\tself.dustVault \u003c- FlovatarDustToken.createEmptyDustVault()\n | \t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:235:27\n |\n235 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:235:21\n |\n235 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:246:27\n |\n246 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:246:21\n |\n246 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n"},{"kind":"contract-update-failure","account_address":"0x9392a4a7c3f49a0b","contract_name":"FlovatarMarketplace","error":"error: error getting program 9392a4a7c3f49a0b.Flovatar: failed to derive value: load program failed: Checking failed:\nerror: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:31\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:25\n\n--\u003e 9392a4a7c3f49a0b.FlovatarPack\n\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarPack`\n --\u003e 9392a4a7c3f49a0b.Flovatar:1435:144\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:365:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:365:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:397:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:397:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:417:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:417:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:434:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:434:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:458:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:458:21\n\nerror: cannot find variable in this scope: `FlovatarPack`\n --\u003e 9392a4a7c3f49a0b.Flovatar:1436:12\n\n--\u003e 9392a4a7c3f49a0b.Flovatar\n\nerror: cannot find type in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:66:30\n |\n66 | \t\t\trecipientCap: Capability\u003c\u0026{Flovatar.CollectionPublic}\u003e,\n | \t\t\t ^^^^^^^^ not found in this scope\n\nerror: ambiguous intersection type\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:66:29\n |\n66 | \t\t\trecipientCap: Capability\u003c\u0026{Flovatar.CollectionPublic}\u003e,\n | \t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find type in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:90:38\n |\n90 | \t\tfun getFlovatar(tokenId: UInt64): \u0026{Flovatar.Public}?\n | \t\t ^^^^^^^^ not found in this scope\n\nerror: ambiguous intersection type\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:90:37\n |\n90 | \t\tfun getFlovatar(tokenId: UInt64): \u0026{Flovatar.Public}?\n | \t\t ^^^^^^^^^^^^^^^^^\n\nerror: cannot find type in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:103:33\n |\n103 | \t\tlet flovatarForSale: @{UInt64: Flovatar.NFT}\n | \t\t ^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:131:42\n |\n131 | \t\tfun withdrawFlovatar(tokenId: UInt64): @Flovatar.NFT{ \n | \t\t ^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:155:34\n |\n155 | \t\tfun listFlovatarForSale(token: @Flovatar.NFT, price: UFix64){ \n | \t\t ^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:202:67\n |\n202 | \t\tfun purchaseFlovatar(tokenId: UInt64, recipientCap: Capability\u003c\u0026{Flovatar.CollectionPublic}\u003e, buyTokens: @{FungibleToken.Vault}){ \n | \t\t ^^^^^^^^ not found in this scope\n\nerror: ambiguous intersection type\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:202:66\n |\n202 | \t\tfun purchaseFlovatar(tokenId: UInt64, recipientCap: Capability\u003c\u0026{Flovatar.CollectionPublic}\u003e, buyTokens: @{FungibleToken.Vault}){ \n | \t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find type in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:296:38\n |\n296 | \t\tfun getFlovatar(tokenId: UInt64): \u0026{Flovatar.Public}?{ \n | \t\t ^^^^^^^^ not found in this scope\n\nerror: ambiguous intersection type\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:296:37\n |\n296 | \t\tfun getFlovatar(tokenId: UInt64): \u0026{Flovatar.Public}?{ \n | \t\t ^^^^^^^^^^^^^^^^^\n\nerror: cannot find type in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:346:13\n |\n346 | \t\t\tmetadata: Flovatar.Metadata,\n | \t\t\t ^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:329:16\n |\n329 | \t\tlet metadata: Flovatar.Metadata\n | \t\t ^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:216:30\n |\n216 | \t\t\tif !token.isInstance(Type\u003c@Flovatar.NFT\u003e()){ \n | \t\t\t ^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:216:24\n |\n216 | \t\t\tif !token.isInstance(Type\u003c@Flovatar.NFT\u003e()){ \n | \t\t\t ^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find variable in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:221:31\n |\n221 | \t\t\tlet creatorAmount = price * Flovatar.getRoyaltyCut()\n | \t\t\t ^^^^^^^^ not found in this scope\n\nerror: cannot find variable in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:225:35\n |\n225 | \t\t\tlet marketplaceAmount = price * Flovatar.getMarketplaceCut()\n | \t\t\t ^^^^^^^^ not found in this scope\n\nerror: cannot find variable in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:257:35\n |\n257 | \t\t\tlet marketplaceAmount = price * Flovatar.getMarketplaceCut()\n | \t\t\t ^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:298:50\n |\n298 | \t\t\t\tlet ref = (\u0026self.flovatarForSale[tokenId] as \u0026Flovatar.NFT?)!\n | \t\t\t\t ^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:299:20\n |\n299 | \t\t\t\treturn ref as! \u0026Flovatar.NFT\n | \t\t\t\t ^^^^^^^^ not found in this scope\n"},{"kind":"contract-update-failure","account_address":"0x9392a4a7c3f49a0b","contract_name":"FlovatarPack","error":"error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:31\n |\n415 | \t\t\t\tbuyTokens.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:25\n |\n415 | \t\t\t\tbuyTokens.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n"},{"kind":"contract-update-success","account_address":"0x0d3dc5ad70be03d1","contract_name":"Filter"},{"kind":"contract-update-success","account_address":"0x0d3dc5ad70be03d1","contract_name":"Offers"},{"kind":"contract-update-success","account_address":"0x0d3dc5ad70be03d1","contract_name":"ScopedFTProviders"},{"kind":"contract-update-failure","account_address":"0x3870b3d38f83ae4c","contract_name":"FiatToken","error":"error: missing resource declaration `Admin`\n --\u003e 3870b3d38f83ae4c.FiatToken:7:21\n |\n7 | access(all) contract FiatToken: FungibleToken {\n | ^^^^^^^^^\n\nerror: missing resource declaration `AdminExecutor`\n --\u003e 3870b3d38f83ae4c.FiatToken:7:21\n |\n7 | access(all) contract FiatToken: FungibleToken {\n | ^^^^^^^^^\n\nerror: missing resource declaration `BlocklistExecutor`\n --\u003e 3870b3d38f83ae4c.FiatToken:7:21\n |\n7 | access(all) contract FiatToken: FungibleToken {\n | ^^^^^^^^^\n\nerror: missing resource declaration `Blocklister`\n --\u003e 3870b3d38f83ae4c.FiatToken:7:21\n |\n7 | access(all) contract FiatToken: FungibleToken {\n | ^^^^^^^^^\n\nerror: missing resource declaration `MasterMinter`\n --\u003e 3870b3d38f83ae4c.FiatToken:7:21\n |\n7 | access(all) contract FiatToken: FungibleToken {\n | ^^^^^^^^^\n\nerror: missing resource declaration `MasterMinterExecutor`\n --\u003e 3870b3d38f83ae4c.FiatToken:7:21\n |\n7 | access(all) contract FiatToken: FungibleToken {\n | ^^^^^^^^^\n\nerror: missing resource declaration `Minter`\n --\u003e 3870b3d38f83ae4c.FiatToken:7:21\n |\n7 | access(all) contract FiatToken: FungibleToken {\n | ^^^^^^^^^\n\nerror: missing resource declaration `MinterController`\n --\u003e 3870b3d38f83ae4c.FiatToken:7:21\n |\n7 | access(all) contract FiatToken: FungibleToken {\n | ^^^^^^^^^\n\nerror: missing resource declaration `Owner`\n --\u003e 3870b3d38f83ae4c.FiatToken:7:21\n |\n7 | access(all) contract FiatToken: FungibleToken {\n | ^^^^^^^^^\n\nerror: missing resource declaration `OwnerExecutor`\n --\u003e 3870b3d38f83ae4c.FiatToken:7:21\n |\n7 | access(all) contract FiatToken: FungibleToken {\n | ^^^^^^^^^\n\nerror: missing resource declaration `PauseExecutor`\n --\u003e 3870b3d38f83ae4c.FiatToken:7:21\n |\n7 | access(all) contract FiatToken: FungibleToken {\n | ^^^^^^^^^\n\nerror: missing resource declaration `Pauser`\n --\u003e 3870b3d38f83ae4c.FiatToken:7:21\n |\n7 | access(all) contract FiatToken: FungibleToken {\n | ^^^^^^^^^\n"},{"kind":"contract-update-success","account_address":"0x3870b3d38f83ae4c","contract_name":"FlowEVMBridgeHandlerInterfaces"},{"kind":"contract-update-failure","account_address":"0xab2d22248a619d77","contract_name":"MetadataViews","error":"error: missing resource interface declaration `Resolver`\n --\u003e ab2d22248a619d77.MetadataViews:15:21\n |\n15 | access(all) contract MetadataViews {\n | ^^^^^^^^^^^^^\n\nerror: missing resource interface declaration `ResolverCollection`\n --\u003e ab2d22248a619d77.MetadataViews:15:21\n |\n15 | access(all) contract MetadataViews {\n | ^^^^^^^^^^^^^\n"},{"kind":"contract-update-success","account_address":"0xab2d22248a619d77","contract_name":"TrmAssetMSV1_0"},{"kind":"contract-update-success","account_address":"0xab2d22248a619d77","contract_name":"TrmAssetMSV2_0"},{"kind":"contract-update-success","account_address":"0x8bc9e24c307d249b","contract_name":"LendingConfig"},{"kind":"contract-update-success","account_address":"0x8bc9e24c307d249b","contract_name":"LendingError"},{"kind":"contract-update-success","account_address":"0x8bc9e24c307d249b","contract_name":"LendingInterfaces"},{"kind":"contract-update-success","account_address":"0x97d2f3b55c6a6a75","contract_name":"LendingPool"},{"kind":"contract-update-success","account_address":"0x294e44e1ec6993c6","contract_name":"CapabilityDelegator"},{"kind":"contract-update-success","account_address":"0x294e44e1ec6993c6","contract_name":"CapabilityFactory"},{"kind":"contract-update-success","account_address":"0x294e44e1ec6993c6","contract_name":"CapabilityFilter"},{"kind":"contract-update-success","account_address":"0x294e44e1ec6993c6","contract_name":"FTAllFactory"},{"kind":"contract-update-success","account_address":"0x294e44e1ec6993c6","contract_name":"FTBalanceFactory"},{"kind":"contract-update-success","account_address":"0x294e44e1ec6993c6","contract_name":"FTProviderFactory"},{"kind":"contract-update-success","account_address":"0x294e44e1ec6993c6","contract_name":"FTReceiverBalanceFactory"},{"kind":"contract-update-success","account_address":"0x294e44e1ec6993c6","contract_name":"FTReceiverFactory"},{"kind":"contract-update-success","account_address":"0x294e44e1ec6993c6","contract_name":"HybridCustody"},{"kind":"contract-update-success","account_address":"0x294e44e1ec6993c6","contract_name":"NFTCollectionPublicFactory"},{"kind":"contract-update-success","account_address":"0x294e44e1ec6993c6","contract_name":"NFTProviderAndCollectionFactory"},{"kind":"contract-update-success","account_address":"0x294e44e1ec6993c6","contract_name":"NFTProviderFactory"},{"kind":"contract-update-success","account_address":"0xcbdb5a7b89c3c844","contract_name":"PriceOracle"},{"kind":"contract-update-success","account_address":"0xc911d6ddfae70ce8","contract_name":"PriceOracle"},{"kind":"contract-update-success","account_address":"0xef4cd3d07a7b43ce","contract_name":"IPackNFT"},{"kind":"contract-update-success","account_address":"0xef4cd3d07a7b43ce","contract_name":"PDS"},{"kind":"contract-update-success","account_address":"0x31ad40c07a2a9788","contract_name":"AddressUtils"},{"kind":"contract-update-success","account_address":"0x31ad40c07a2a9788","contract_name":"ArrayUtils"},{"kind":"contract-update-success","account_address":"0x31ad40c07a2a9788","contract_name":"ScopedFTProviders"},{"kind":"contract-update-success","account_address":"0x31ad40c07a2a9788","contract_name":"ScopedNFTProviders"},{"kind":"contract-update-success","account_address":"0x31ad40c07a2a9788","contract_name":"StringUtils"},{"kind":"contract-update-success","account_address":"0x6d692450d591524c","contract_name":"PriceOracle"},{"kind":"contract-update-success","account_address":"0x547f177b243b4d80","contract_name":"Market"},{"kind":"contract-update-success","account_address":"0x547f177b243b4d80","contract_name":"TopShotMarketV3"},{"kind":"contract-update-success","account_address":"0x2ceae959ed1a7e7a","contract_name":"MigrationContractStaging"},{"kind":"contract-update-success","account_address":"0xe8124d8428980aa6","contract_name":"Bl0x"},{"kind":"contract-update-success","account_address":"0x8232ce4a3aff4e94","contract_name":"PublicPriceOracle"},{"kind":"contract-update-success","account_address":"0x8770564d92180608","contract_name":"TrmAssetV2_2"},{"kind":"contract-update-success","account_address":"0x8770564d92180608","contract_name":"TrmMarketV2_2"},{"kind":"contract-update-success","account_address":"0x8770564d92180608","contract_name":"TrmRentV2_2"},{"kind":"contract-update-failure","account_address":"0x250e0b90c1b7711b","contract_name":"A","error":"error: cannot find declaration `B` in `250e0b90c1b7711b.B`\n --\u003e 250e0b90c1b7711b.A:1:7\n |\n1 | import B from 0x250e0b90c1b7711b\n | ^ available exported declarations are:\n - `Bad`\n\n"},{"kind":"contract-update-success","account_address":"0x250e0b90c1b7711b","contract_name":"B"},{"kind":"contract-update-success","account_address":"0x250e0b90c1b7711b","contract_name":"Bar"},{"kind":"contract-update-success","account_address":"0x250e0b90c1b7711b","contract_name":"F"},{"kind":"contract-update-success","account_address":"0x250e0b90c1b7711b","contract_name":"Foo"},{"kind":"contract-update-success","account_address":"0x250e0b90c1b7711b","contract_name":"L"},{"kind":"contract-update-success","account_address":"0x250e0b90c1b7711b","contract_name":"O"},{"kind":"contract-update-failure","account_address":"0x250e0b90c1b7711b","contract_name":"W","error":"error: mismatching field `foo` in `W`\n --\u003e 250e0b90c1b7711b.W:3:25\n |\n3 | access(all) let foo: String\n | ^^^^^^ incompatible type annotations. expected `Int`, found `String`\n"},{"kind":"contract-update-success","account_address":"0xa47a2d3a3b7e9133","contract_name":"FanTopMarket"},{"kind":"contract-update-success","account_address":"0xa47a2d3a3b7e9133","contract_name":"FanTopPermission"},{"kind":"contract-update-success","account_address":"0xa47a2d3a3b7e9133","contract_name":"FanTopPermissionV2a"},{"kind":"contract-update-success","account_address":"0xa47a2d3a3b7e9133","contract_name":"FanTopSerial"},{"kind":"contract-update-success","account_address":"0xa47a2d3a3b7e9133","contract_name":"FanTopToken"},{"kind":"contract-update-success","account_address":"0xa47a2d3a3b7e9133","contract_name":"Signature"},{"kind":"contract-update-success","account_address":"0x58b60c5240d3f39b","contract_name":"PackNFT"},{"kind":"contract-update-success","account_address":"0x58b60c5240d3f39b","contract_name":"TicalUniverse"},{"kind":"contract-update-success","account_address":"0x58b60c5240d3f39b","contract_name":"TuneGO"},{"kind":"contract-update-success","account_address":"0x58b60c5240d3f39b","contract_name":"TuneGONFTV5"},{"kind":"contract-update-success","account_address":"0x06f1e5cde6db0e70","contract_name":"DropFactory"},{"kind":"contract-update-success","account_address":"0x06f1e5cde6db0e70","contract_name":"FlowtyAddressVerifiers"},{"kind":"contract-update-success","account_address":"0x06f1e5cde6db0e70","contract_name":"FlowtyDrops"},{"kind":"contract-update-success","account_address":"0x06f1e5cde6db0e70","contract_name":"FlowtyPricers"},{"kind":"contract-update-success","account_address":"0x06f1e5cde6db0e70","contract_name":"FlowtySwitchers"},{"kind":"contract-update-success","account_address":"0x985d410b577fd4a1","contract_name":"Gamisodes"},{"kind":"contract-update-success","account_address":"0x985d410b577fd4a1","contract_name":"Lufthaus"},{"kind":"contract-update-success","account_address":"0x985d410b577fd4a1","contract_name":"MUMGJ"},{"kind":"contract-update-success","account_address":"0x985d410b577fd4a1","contract_name":"MintStoreItem"},{"kind":"contract-update-success","account_address":"0x985d410b577fd4a1","contract_name":"OpenLockerInc"},{"kind":"contract-update-success","account_address":"0x985d410b577fd4a1","contract_name":"OpenLockerIncBoneYardHuskyzClub"},{"kind":"contract-update-success","account_address":"0x985d410b577fd4a1","contract_name":"Pickem"},{"kind":"contract-update-success","account_address":"0x985d410b577fd4a1","contract_name":"RTLStoreItem"},{"kind":"contract-update-success","account_address":"0x985d410b577fd4a1","contract_name":"YBees"},{"kind":"contract-update-success","account_address":"0x985d410b577fd4a1","contract_name":"YoungBoysBern"},{"kind":"contract-update-success","account_address":"0x5d45c655fcde5037","contract_name":"TicalUniverse"},{"kind":"contract-update-success","account_address":"0x5d45c655fcde5037","contract_name":"TuneGO"},{"kind":"contract-update-success","account_address":"0xc20df20fabe06457","contract_name":"SwapPair"},{"kind":"contract-update-success","account_address":"0x8c55fba7d7090fee","contract_name":"Magnetiq"},{"kind":"contract-update-success","account_address":"0x8c55fba7d7090fee","contract_name":"MagnetiqLocking"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"ACCO_SOLEIL"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"AIICOSMPLG"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"AUGUSTUS1"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"BFD"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"BTC"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"BYPRODUCT"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"DOGETKN"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"DUNK"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"DWLC"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"EBISU"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"ECO"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"EDGE"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"ELEMENT"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"ExampleNFT"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"H442T04"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"H442T05"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"HowardNFT"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"IAT"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"JOSHIN"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"KOZO"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"Karat"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"KaratNFT"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"Karatv2"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"MARK"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"MARKIE"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"MARKIE2"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"MARKIE3"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"MEDI"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"MEGAMI"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"MRFRIENDLY"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"SCARETKN"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"SNAKE"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"SUGOI"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"SUNTORY"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"Sorachi"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"Story"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"TNP"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"TOM"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"TS"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"TSTCON"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"WE_PIN"},{"kind":"contract-update-success","account_address":"0x7dc7430a06f38af3","contract_name":"ZeedzINO"},{"kind":"contract-update-success","account_address":"0x6d0f55821f6b2dbe","contract_name":"BBxBarbieCard"},{"kind":"contract-update-success","account_address":"0x6d0f55821f6b2dbe","contract_name":"BBxBarbiePM"},{"kind":"contract-update-success","account_address":"0x6d0f55821f6b2dbe","contract_name":"BBxBarbiePack"},{"kind":"contract-update-success","account_address":"0x6d0f55821f6b2dbe","contract_name":"BBxBarbieToken"},{"kind":"contract-update-success","account_address":"0x8aaca41f09eb1e3d","contract_name":"LendingPool"},{"kind":"contract-update-success","account_address":"0x8a5f647e58dde1ee","contract_name":"DapperOffersV2"},{"kind":"contract-update-success","account_address":"0x8a5f647e58dde1ee","contract_name":"OffersV2"},{"kind":"contract-update-success","account_address":"0x8a5f647e58dde1ee","contract_name":"Resolver"},{"kind":"contract-update-success","account_address":"0xcbed4c301441ded2","contract_name":"StableSwapFactory"},{"kind":"contract-update-success","account_address":"0xcbed4c301441ded2","contract_name":"SwapFactory"},{"kind":"contract-update-success","account_address":"0xc15e75b5f6b95e54","contract_name":"LendingComptroller"},{"kind":"contract-update-success","account_address":"0x74daa6f9c7ef24b1","contract_name":"FCLCrypto"}] \ No newline at end of file diff --git a/migrations_data/staged-contracts-report-2024-06-12T13-03-00Z-testnet.md b/migrations_data/staged-contracts-report-2024-06-12T13-03-00Z-testnet.md new file mode 100644 index 0000000000..11d546e096 --- /dev/null +++ b/migrations_data/staged-contracts-report-2024-06-12T13-03-00Z-testnet.md @@ -0,0 +1,458 @@ +## Cadence 1.0 staged contracts migration results +Date: 12 June, 2024 + +> [!CAUTION] +> **IMPORTANT SECURITY NOTICE** +> +> Some staged contracts might be insecure due to incorrect access modifiers usage. +> Please make sure you have carefully reviewed and understood the section of [Cadence Migration Guide on Access Modifiers](https://cadence-lang.org/docs/cadence-migration-guide/nft-guide#update-all-pub-access-modfiers) + +* Stats: 434 contracts staged, 405 successfully upgraded, 29 failed to upgrade +* Testnet State Snapshot: devnet50-execution-snapshot-for-migration-11-jun-12 +* Flow-go build: v0.35.14-crescendo-preview.27-atree-inlining + +> [!NOTE] +> Developers can use Crescendo migration environment to test your migrated dapp! We notify the community in [Discord Developer UPdates channel](https://discord.com/channels/613813861610684416/811693600403357706) when the environment is available for testing after migration. The Access node endpoint for the migration environment is: `access-001.migrationtestnet1.nodes.onflow.org:9000` for the gRPC API and `https://rest-migrationtestnet.onflow.org/v1/` for the REST API.` + +**Useful Tools / Links** +* [View contracts staged on Testnet](https://f.dnz.dev/0x2ceae959ed1a7e7a/) +* [Great community tool to view up-to-date staging status](https://staging.dnz.dev/) + +### Migration Report + +|Account Address | Contract Name | Status | +| --- | --- | --- | +| 0x34f3140b7f54c743 | CricketMoments | ✅ | +| 0x34f3140b7f54c743 | CricketMomentsShardedCollection | ✅ | +| 0x34f3140b7f54c743 | FazeUtilityCoin | ✅ | +| 0x2d0d952e760d1770 | CricketMoments | ✅ | +| 0x2d0d952e760d1770 | CricketMomentsShardedCollection | ✅ | +| 0x4dfd62c88d1b6462 | AllDay | ✅ | +| 0x2d0d952e760d1770 | FazeUtilityCoin | ✅ | +| 0x6b7930acbcd12877 | Cryptoys | ✅ | +| 0x6b7930acbcd12877 | CryptoysMetadataView2 | ✅ | +| 0x6b7930acbcd12877 | ICryptoys | ✅ | +| 0x4dfd62c88d1b6462 | PackNFT | ✅ | +| 0x43ee8c22fcf94ea3 | DapperStorageRent | ✅ | +| 0x2299f74679d9c88a | A | ✅ | +| 0x9d96fa5f60093c18 | A | ✅ | +| 0x9d96fa5f60093c18 | B | ✅ | +| 0xdad0aaa285a25413 | PriceOracle | ✅ | +| 0x2d59ec5158e3adae | HeroesOfTheFlow | ✅ | +| 0x2bd8210db3a8fe8a | NFTLocking | ✅ | +| 0x2bd8210db3a8fe8a | Swap | ✅ | +| 0x2bd8210db3a8fe8a | SwapArchive | ✅ | +| 0x2bd8210db3a8fe8a | SwapStats | ✅ | +| 0x2bd8210db3a8fe8a | SwapStatsRegistry | ✅ | +| 0x2bd8210db3a8fe8a | Utils | ✅ | +| 0xf28310b45fc6b319 | ExampleNFT | ❌

Error:
error: cannot find type in this scope: \`NonFungibleToken.Owner\`
--\> f28310b45fc6b319.ExampleNFT:161:43
\|
161 \| access(NonFungibleToken.Withdraw \| NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {
\| ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`NonFungibleToken.Owner\`
--\> f28310b45fc6b319.ExampleNFT:183:60
\|
183 \| let authTokenRef = (&self.ownedNFTs\$&id\$& as auth(NonFungibleToken.Owner) &{NonFungibleToken.NFT}?)!
\| ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: mismatched types
--\> f28310b45fc6b319.ExampleNFT:185:38
\|
185 \| ExampleNFT.emitNFTUpdated(authTokenRef)
\| ^^^^^^^^^^^^ expected \`auth(NonFungibleToken.Update) &{NonFungibleToken.NFT}\`, got \`auth(NonFungibleToken) &{NonFungibleToken.NFT}\`

error: resource \`ExampleNFT.Collection\` does not conform to resource interface \`NonFungibleToken.Collection\`
--\> f28310b45fc6b319.ExampleNFT:134:25
\|
134 \| access(all) resource Collection: NonFungibleToken.Collection, ExampleNFTCollectionPublic {
\| ^
...
\|
137 \| access(contract) var ownedNFTs: @{UInt64: {NonFungibleToken.NFT}}
\| \-\-\-\-\-\-\-\-\- mismatch here

error: resource \`ExampleNFT.Collection\` does not conform to resource interface \`NonFungibleToken.Collection\`
--\> f28310b45fc6b319.ExampleNFT:134:25
\|
134 \| access(all) resource Collection: NonFungibleToken.Collection, ExampleNFTCollectionPublic {
\| ^
...
\|
161 \| access(NonFungibleToken.Withdraw \| NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {
\| \-\-\-\-\-\-\-\- mismatch here
| +| 0x195caada038c5806 | BarterYardClubWerewolf | ✅ | +| 0x195caada038c5806 | BarterYardStats | ✅ | +| 0xb45e7992680a0f7f | CricketMoments | ✅ | +| 0xb45e7992680a0f7f | CricketMomentsShardedCollection | ✅ | +| 0xb45e7992680a0f7f | FazeUtilityCoin | ✅ | +| 0xc7c122b5b811de8e | BulkPurchase | ❌

Error:
error: missing structure declaration \`Order\`
--\> c7c122b5b811de8e.BulkPurchase:20:21
\|
20 \| access(all) contract BulkPurchase {
\| ^^^^^^^^^^^^
| +| 0xc7c122b5b811de8e | FlowversePass | ✅ | +| 0xc7c122b5b811de8e | FlowversePassPrimarySaleMinter | ✅ | +| 0xc7c122b5b811de8e | FlowversePrimarySale | ✅ | +| 0xc7c122b5b811de8e | FlowversePrimarySaleV2 | ✅ | +| 0xc7c122b5b811de8e | FlowverseShirt | ✅ | +| 0xc7c122b5b811de8e | FlowverseSocks | ✅ | +| 0xc7c122b5b811de8e | FlowverseTreasures | ✅ | +| 0xc7c122b5b811de8e | FlowverseTreasuresPrimarySaleMinter | ✅ | +| 0xc7c122b5b811de8e | Ordinal | ✅ | +| 0xc7c122b5b811de8e | OrdinalVendor | ✅ | +| 0xc7c122b5b811de8e | Royalties | ✅ | +| 0x3e5b4c627064625d | Flomies | ❌

Error:
error: found new field \`storagePath\` in \`Collection\`
--\> 3e5b4c627064625d.Flomies:231:25
\|
231 \| access(self) var storagePath: StoragePath
\| ^^^^^^^^^^^

error: found new field \`publicPath\` in \`Collection\`
--\> 3e5b4c627064625d.Flomies:232:25
\|
232 \| access(self) var publicPath: PublicPath
\| ^^^^^^^^^^
| +| 0x3e5b4c627064625d | GeneratedExperiences | ✅ | +| 0x3e5b4c627064625d | NFGv3 | ✅ | +| 0x3e5b4c627064625d | PartyFavorz | ❌

Error:
error: found new field \`storagePath\` in \`Collection\`
--\> 3e5b4c627064625d.PartyFavorz:249:25
\|
249 \| access(self) var storagePath: StoragePath
\| ^^^^^^^^^^^

error: found new field \`publicPath\` in \`Collection\`
--\> 3e5b4c627064625d.PartyFavorz:250:25
\|
250 \| access(self) var publicPath: PublicPath
\| ^^^^^^^^^^
| +| 0x3e5b4c627064625d | PartyFavorzExtraData | ✅ | +| 0x072127280188a611 | TestRootContract | ✅ | +| 0x1f38da7a93c61f28 | ExampleNFT | ❌

Error:
error: cannot find type in this scope: \`NonFungibleToken.Owner\`
--\> 1f38da7a93c61f28.ExampleNFT:161:43
\|
161 \| access(NonFungibleToken.Withdraw \| NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {
\| ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`NonFungibleToken.Owner\`
--\> 1f38da7a93c61f28.ExampleNFT:183:60
\|
183 \| let authTokenRef = (&self.ownedNFTs\$&id\$& as auth(NonFungibleToken.Owner) &{NonFungibleToken.NFT}?)!
\| ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: mismatched types
--\> 1f38da7a93c61f28.ExampleNFT:185:38
\|
185 \| ExampleNFT.emitNFTUpdated(authTokenRef)
\| ^^^^^^^^^^^^ expected \`auth(NonFungibleToken.Update) &{NonFungibleToken.NFT}\`, got \`auth(NonFungibleToken) &{NonFungibleToken.NFT}\`

error: resource \`ExampleNFT.Collection\` does not conform to resource interface \`NonFungibleToken.Collection\`
--\> 1f38da7a93c61f28.ExampleNFT:134:25
\|
134 \| access(all) resource Collection: NonFungibleToken.Collection, ExampleNFTCollectionPublic {
\| ^
...
\|
137 \| access(contract) var ownedNFTs: @{UInt64: {NonFungibleToken.NFT}}
\| \-\-\-\-\-\-\-\-\- mismatch here

error: resource \`ExampleNFT.Collection\` does not conform to resource interface \`NonFungibleToken.Collection\`
--\> 1f38da7a93c61f28.ExampleNFT:134:25
\|
134 \| access(all) resource Collection: NonFungibleToken.Collection, ExampleNFTCollectionPublic {
\| ^
...
\|
161 \| access(NonFungibleToken.Withdraw \| NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {
\| \-\-\-\-\-\-\-\- mismatch here
| +| 0xbd327ae7428784b5 | FlowEVMBridgeHandlerInterfaces | ❌

Error:
error: trying to convert contract interface \`FlowEVMBridgeHandlerInterfaces\` to a contract
--\> bd327ae7428784b5.FlowEVMBridgeHandlerInterfaces:12:21
\|
12 \| access(all) contract FlowEVMBridgeHandlerInterfaces {
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| +| 0xbe4635353f55bbd4 | FeeEstimator | ✅ | +| 0xbe4635353f55bbd4 | LostAndFound | ✅ | +| 0xbe4635353f55bbd4 | LostAndFoundHelper | ✅ | +| 0xd8f6346999b983f5 | IPackNFT | ✅ | +| 0xa1296b1e2e90ca5b | HelloWorld | ✅ | +| 0xe3faea00c5bb8d7d | TrmAssetV2_2 | ✅ | +| 0xe3faea00c5bb8d7d | TrmMarketV2_2 | ✅ | +| 0xe3faea00c5bb8d7d | TrmRentV2_2 | ✅ | +| 0x4ed4b8e5cd0dd15e | PackNFT | ✅ | +| 0x2a9011074c827145 | FungibleTokenCatalog | ✅ | +| 0xddb929038d45d4b3 | SwapConfig | ✅ | +| 0xddb929038d45d4b3 | SwapError | ✅ | +| 0xddb929038d45d4b3 | SwapInterfaces | ✅ | +| 0x2d766f00eb1d0c37 | PriceOracle | ✅ | +| 0xf8e0eab3a87cbf49 | ExampleNFT | ❌

Error:
error: error getting program f8e0eab3a87cbf49.ExampleDependency: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :1:0
\|
1 \| pub contract ExampleDependency {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :2:4
\|
2 \| pub let test: Int
\| ^^^

--\> f8e0eab3a87cbf49.ExampleDependency

error: cannot find type in this scope: \`NonFungibleToken.Owner\`
--\> f8e0eab3a87cbf49.ExampleNFT:161:43
\|
161 \| access(NonFungibleToken.Withdraw \| NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {
\| ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: resource \`ExampleNFT.Collection\` does not conform to resource interface \`NonFungibleToken.Collection\`
--\> f8e0eab3a87cbf49.ExampleNFT:128:25
\|
128 \| access(all) resource Collection: NonFungibleToken.Collection {
\| ^
...
\|
131 \| access(contract) var ownedNFTs: @{UInt64: ExampleNFT.NFT}
\| \-\-\-\-\-\-\-\-\- mismatch here

error: resource \`ExampleNFT.Collection\` does not conform to resource interface \`NonFungibleToken.Collection\`
--\> f8e0eab3a87cbf49.ExampleNFT:128:25
\|
128 \| access(all) resource Collection: NonFungibleToken.Collection {
\| ^
...
\|
161 \| access(NonFungibleToken.Withdraw \| NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {
\| \-\-\-\-\-\-\-\- mismatch here
| +| 0x894269f57ac04a6e | FlowtyRaffleSource | ✅ | +| 0x894269f57ac04a6e | FlowtyRaffles | ✅ | +| 0x668b91e2995c2eba | PrivateReceiverForwarder | ✅ | +| 0x877931736ee77cff | PackNFT | ✅ | +| 0x877931736ee77cff | TopShot | ✅ | +| 0x877931736ee77cff | TopShotLocking | ✅ | +| 0xf9dad0d4c14a92b5 | BUSD | ✅ | +| 0xf9dad0d4c14a92b5 | USDC | ✅ | +| 0xf9dad0d4c14a92b5 | USDT | ✅ | +| 0xf9dad0d4c14a92b5 | wFlow | ✅ | +| 0x9680721e43087f43 | DropTypes | ✅ | +| 0x2f8af5ed05bbde0d | SwapRouter | ✅ | +| 0xd704ee8202a0d82d | ExampleNFT | ✅ | +| 0xa2526e2d9cc7f0d2 | PackNFT | ✅ | +| 0xa2526e2d9cc7f0d2 | Pinnacle | ✅ | +| 0xb051bdaddb672a33 | DNAHandler | ✅ | +| 0xb051bdaddb672a33 | FlowtyListingCallback | ✅ | +| 0xb051bdaddb672a33 | FlowtyUtils | ✅ | +| 0xb051bdaddb672a33 | FlowtyViews | ✅ | +| 0xb051bdaddb672a33 | NFTStorefrontV2 | ✅ | +| 0xb051bdaddb672a33 | Permitted | ✅ | +| 0xb051bdaddb672a33 | RoyaltiesOverride | ✅ | +| 0x99ca04281098b33d | Art | ✅ | +| 0x99ca04281098b33d | Auction | ✅ | +| 0x99ca04281098b33d | Content | ✅ | +| 0x99ca04281098b33d | Marketplace | ✅ | +| 0x99ca04281098b33d | Profile | ✅ | +| 0x99ca04281098b33d | Versus | ✅ | +| 0x94b84d0c11a22404 | TopShotShardedCollection | ✅ | +| 0x7745157792470296 | LendingOracle | ✅ | +| 0x82ec283f88a62e65 | DapperUtilityCoin | ✅ | +| 0x82ec283f88a62e65 | FlowUtilityToken | ✅ | +| 0xfa2a6615db587be5 | ExampleNFT | ❌

Error:
error: cannot find type in this scope: \`NonFungibleToken.Owner\`
--\> fa2a6615db587be5.ExampleNFT:160:43
\|
160 \| access(NonFungibleToken.Withdraw \| NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {
\| ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: resource \`ExampleNFT.Collection\` does not conform to resource interface \`NonFungibleToken.Collection\`
--\> fa2a6615db587be5.ExampleNFT:127:25
\|
127 \| access(all) resource Collection: NonFungibleToken.Collection {
\| ^
...
\|
130 \| access(contract) var ownedNFTs: @{UInt64: ExampleNFT.NFT}
\| \-\-\-\-\-\-\-\-\- mismatch here

error: resource \`ExampleNFT.Collection\` does not conform to resource interface \`NonFungibleToken.Collection\`
--\> fa2a6615db587be5.ExampleNFT:127:25
\|
127 \| access(all) resource Collection: NonFungibleToken.Collection {
\| ^
...
\|
160 \| access(NonFungibleToken.Withdraw \| NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {
\| \-\-\-\-\-\-\-\- mismatch here
| +| 0x86d1c2159a5d9eca | TransactionTypes | ✅ | +| 0x1c5033ad60821c97 | Admin | ✅ | +| 0x1c5033ad60821c97 | Clock | ✅ | +| 0x1c5033ad60821c97 | Debug | ✅ | +| 0x1c5033ad60821c97 | DoodleNames | ✅ | +| 0x1c5033ad60821c97 | DoodlePackTypes | ✅ | +| 0x1c5033ad60821c97 | DoodlePacks | ✅ | +| 0x1c5033ad60821c97 | Doodles | ✅ | +| 0x1c5033ad60821c97 | GenesisBoxRegistry | ✅ | +| 0x1c5033ad60821c97 | OpenDoodlePacks | ✅ | +| 0x1c5033ad60821c97 | Random | ✅ | +| 0x1c5033ad60821c97 | Redeemables | ✅ | +| 0x1c5033ad60821c97 | Teleport | ✅ | +| 0x1c5033ad60821c97 | Templates | ✅ | +| 0x1c5033ad60821c97 | TransactionsRegistry | ✅ | +| 0x1c5033ad60821c97 | Wearables | ✅ | +| 0x723a1b50e1d67e8e | TuneGONFT | ✅ | +| 0x8b47f4dd22afee8d | MetadataViews | ❌

Error:
error: missing resource interface declaration \`Resolver\`
--\> 8b47f4dd22afee8d.MetadataViews:15:21
\|
15 \| access(all) contract MetadataViews {
\| ^^^^^^^^^^^^^

error: missing resource interface declaration \`ResolverCollection\`
--\> 8b47f4dd22afee8d.MetadataViews:15:21
\|
15 \| access(all) contract MetadataViews {
\| ^^^^^^^^^^^^^
| +| 0x8b47f4dd22afee8d | TrmAssetMSV1_0 | ✅ | +| 0xd35bad52c7e1ab65 | ZeedzINO | ❌

Error:
error: cannot find type in this scope: \`NonFungibleToken.Owner\`
--\> d35bad52c7e1ab65.ZeedzINO:207:43
\|
207 \| access(NonFungibleToken.Withdraw \| NonFungibleToken.Owner) fun burn(burnID: UInt64)
\| ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`NonFungibleToken.Owner\`
--\> d35bad52c7e1ab65.ZeedzINO:208:43
\|
208 \| access(NonFungibleToken.Withdraw \| NonFungibleToken.Owner) fun redeem(redeemID: UInt64, message: String)
\| ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`NonFungibleToken.Owner\`
--\> d35bad52c7e1ab65.ZeedzINO:218:43
\|
218 \| access(NonFungibleToken.Withdraw \| NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {
\| ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`NonFungibleToken.Owner\`
--\> d35bad52c7e1ab65.ZeedzINO:224:43
\|
224 \| access(NonFungibleToken.Withdraw \| NonFungibleToken.Owner) fun burn(burnID: UInt64){
\| ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`NonFungibleToken.Owner\`
--\> d35bad52c7e1ab65.ZeedzINO:234:43
\|
234 \| access(NonFungibleToken.Withdraw \| NonFungibleToken.Owner) fun redeem(redeemID: UInt64, message: String){
\| ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: resource \`ZeedzINO.Collection\` does not conform to resource interface \`NonFungibleToken.Collection\`
--\> d35bad52c7e1ab65.ZeedzINO:214:25
\|
214 \| access(all) resource Collection: NonFungibleToken.Collection, ZeedzCollectionPublic, ZeedzCollectionPrivate {
\| ^
...
\|
218 \| access(NonFungibleToken.Withdraw \| NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {
\| \-\-\-\-\-\-\-\- mismatch here

error: resource \`ZeedzINO.Collection\` does not conform to resource interface \`ZeedzINO.ZeedzCollectionPrivate\`
--\> d35bad52c7e1ab65.ZeedzINO:214:25
\|
214 \| access(all) resource Collection: NonFungibleToken.Collection, ZeedzCollectionPublic, ZeedzCollectionPrivate {
\| ^
...
\|
224 \| access(NonFungibleToken.Withdraw \| NonFungibleToken.Owner) fun burn(burnID: UInt64){
\| \-\-\-\- mismatch here
...
\|
234 \| access(NonFungibleToken.Withdraw \| NonFungibleToken.Owner) fun redeem(redeemID: UInt64, message: String){
\| \-\-\-\-\-\- mismatch here
| +| 0x520a7157e1b964ed | ShebaHopeGrows | ✅ | +| 0x6f6702697b205c18 | HWGarageCard | ✅ | +| 0x6f6702697b205c18 | HWGarageCardV2 | ✅ | +| 0x6f6702697b205c18 | HWGaragePM | ✅ | +| 0x6f6702697b205c18 | HWGaragePMV2 | ✅ | +| 0x6f6702697b205c18 | HWGaragePack | ✅ | +| 0x6f6702697b205c18 | HWGaragePackV2 | ✅ | +| 0x6f6702697b205c18 | HWGarageTokenV2 | ✅ | +| 0x35717efbbce11c74 | Admin | ✅ | +| 0x35717efbbce11c74 | CharityNFT | ✅ | +| 0x35717efbbce11c74 | Clock | ✅ | +| 0x35717efbbce11c74 | Dandy | ✅ | +| 0x35717efbbce11c74 | Debug | ✅ | +| 0x35717efbbce11c74 | FIND | ✅ | +| 0x35717efbbce11c74 | FINDNFTCatalog | ✅ | +| 0x35717efbbce11c74 | FINDNFTCatalogAdmin | ✅ | +| 0x35717efbbce11c74 | FTRegistry | ✅ | +| 0x35717efbbce11c74 | FindAirdropper | ✅ | +| 0x35717efbbce11c74 | FindForge | ✅ | +| 0x35717efbbce11c74 | FindForgeOrder | ✅ | +| 0x35717efbbce11c74 | FindForgeStruct | ✅ | +| 0x35717efbbce11c74 | FindFurnace | ✅ | +| 0x35717efbbce11c74 | FindLeaseMarket | ✅ | +| 0x35717efbbce11c74 | FindLeaseMarketAuctionSoft | ✅ | +| 0x35717efbbce11c74 | FindLeaseMarketDirectOfferSoft | ✅ | +| 0x35717efbbce11c74 | FindLeaseMarketSale | ✅ | +| 0x35717efbbce11c74 | FindLostAndFoundWrapper | ✅ | +| 0x35717efbbce11c74 | FindMarket | ✅ | +| 0x35717efbbce11c74 | FindMarketAdmin | ✅ | +| 0x35717efbbce11c74 | FindMarketAuctionEscrow | ✅ | +| 0x26a1e94319e81a3c | Staking | ✅ | +| 0x26a1e94319e81a3c | StakingError | ✅ | +| 0x35717efbbce11c74 | FindMarketAuctionSoft | ✅ | +| 0x35717efbbce11c74 | FindMarketCut | ✅ | +| 0x35717efbbce11c74 | FindMarketCutInterface | ✅ | +| 0x35717efbbce11c74 | FindMarketCutStruct | ✅ | +| 0x35717efbbce11c74 | FindMarketDirectOfferEscrow | ✅ | +| 0x35717efbbce11c74 | FindMarketDirectOfferSoft | ✅ | +| 0x35717efbbce11c74 | FindMarketInfrastructureCut | ✅ | +| 0x35717efbbce11c74 | FindMarketSale | ✅ | +| 0x35717efbbce11c74 | FindPack | ❌

Error:
error: mismatching field \`providerCaps\` in \`Metadata\`
--\> 35717efbbce11c74.FindPack:343:43
\|
343 \| access(contract) let providerCaps: {Type : Capability}
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ incompatible type annotations. expected \`{NonFungibleToken.Provider, MetadataViews.ResolverCollection}\`, found \`{NonFungibleToken.Collection}\`

error: conformances do not match in \`FindPack\`: missing \`A.631e88ae7f1d7c20.NonFungibleToken\`
--\> 35717efbbce11c74.FindPack:12:21
\|
12 \| access(all) contract FindPack {
\| ^^^^^^^^
| +| 0x35717efbbce11c74 | FindRelatedAccounts | ✅ | +| 0x35717efbbce11c74 | FindRulesCache | ✅ | +| 0x35717efbbce11c74 | FindThoughts | ✅ | +| 0x35717efbbce11c74 | FindUtils | ✅ | +| 0x35717efbbce11c74 | FindVerifier | ✅ | +| 0x35717efbbce11c74 | FindViews | ✅ | +| 0x35717efbbce11c74 | NameVoucher | ✅ | +| 0x35717efbbce11c74 | Profile | ✅ | +| 0x35717efbbce11c74 | ProfileCache | ✅ | +| 0x35717efbbce11c74 | Sender | ✅ | +| 0x628992a07cb07272 | MatrixWorldVoucher | ✅ | +| 0x44ef9309713e2061 | StakingError | ✅ | +| 0x44ef9309713e2061 | StakingNFT | ✅ | +| 0x3286bb76e4e115fe | Boneyard | ✅ | +| 0xdfc20aee650fcbdf | FlowEVMBridgeHandlerInterfaces | ✅ | +| 0x857dc34d5e1631d3 | FLOAT | ✅ | +| 0x857dc34d5e1631d3 | FLOATVerifiers | ❌

Error:
error: error getting program 4d47bf3ce5e4393f.FLOAT: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :28:0
\|
28 \| pub contract FLOAT: NonFungibleToken, ViewResolver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :34:4
\|
34 \| pub let FLOATCollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :35:4
\|
35 \| pub let FLOATCollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :36:4
\|
36 \| pub let FLOATEventsStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :37:4
\|
37 \| pub let FLOATEventsPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :38:4
\|
38 \| pub let FLOATEventsPrivatePath: PrivatePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :44:4
\|
44 \| pub event ContractInitialized()
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :45:4
\|
45 \| pub event FLOATMinted(id: UInt64, eventHost: Address, eventId: UInt64, eventImage: String, recipient: Address, serial: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :46:4
\|
46 \| pub event FLOATClaimed(id: UInt64, eventHost: Address, eventId: UInt64, eventImage: String, eventName: String, recipient: Address, serial: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :47:4
\|
47 \| pub event FLOATDestroyed(id: UInt64, eventHost: Address, eventId: UInt64, eventImage: String, serial: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :48:4
\|
48 \| pub event FLOATTransferred(id: UInt64, eventHost: Address, eventId: UInt64, newOwner: Address?, serial: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:4
\|
49 \| pub event FLOATPurchased(id: UInt64, eventHost: Address, eventId: UInt64, recipient: Address, serial: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :50:4
\|
50 \| pub event FLOATEventCreated(eventId: UInt64, description: String, host: Address, image: String, name: String, url: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :51:4
\|
51 \| pub event FLOATEventDestroyed(eventId: UInt64, host: Address, name: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :53:4
\|
53 \| pub event Deposit(id: UInt64, to: Address?)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :54:4
\|
54 \| pub event Withdraw(id: UInt64, from: Address?)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :62:4
\|
62 \| pub var totalSupply: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :65:4
\|
65 \| pub var totalFLOATEvents: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :73:4
\|
73 \| pub struct TokenIdentifier {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :74:8
\|
74 \| pub let id: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :75:8
\|
75 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :76:8
\|
76 \| pub let serial: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :85:4
\|
85 \| pub struct TokenInfo {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :86:8
\|
86 \| pub let path: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :87:8
\|
87 \| pub let price: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :96:4
\|
96 \| pub resource NFT: NonFungibleToken.INFT, MetadataViews.Resolver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :98:8
\|
98 \| pub let id: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :103:8
\|
103 \| pub let dateReceived: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :104:8
\|
104 \| pub let eventDescription: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :105:8
\|
105 \| pub let eventHost: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :106:8
\|
106 \| pub let eventId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :107:8
\|
107 \| pub let eventImage: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :108:8
\|
108 \| pub let eventName: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:8
\|
109 \| pub let originalRecipient: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :110:8
\|
110 \| pub let serial: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:8
\|
117 \| pub let eventsCap: Capability<&FLOATEvents{FLOATEventsPublic, MetadataViews.ResolverCollection}>
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :117:51
\|
117 \| pub let eventsCap: Capability<&FLOATEvents{FLOATEventsPublic, MetadataViews.ResolverCollection}>
\| ^^^^^^^^^^^^^^^^^

--\> 4d47bf3ce5e4393f.FLOAT

error: cannot find type in this scope: \`FLOAT\`
--\> 857dc34d5e1631d3.FLOATVerifiers:38:33
\|
38 \| access(all) struct Timelock: FLOAT.IVerifier {
\| ^^^^^ not found in this scope

error: cannot find type in this scope: \`FLOAT\`
--\> 857dc34d5e1631d3.FLOATVerifiers:66:31
\|
66 \| access(all) struct Secret: FLOAT.IVerifier {
\| ^^^^^ not found in this scope

error: cannot find type in this scope: \`FLOAT\`
--\> 857dc34d5e1631d3.FLOATVerifiers:90:32
\|
90 \| access(all) struct Limited: FLOAT.IVerifier {
\| ^^^^^ not found in this scope

error: cannot find type in this scope: \`FLOAT\`
--\> 857dc34d5e1631d3.FLOATVerifiers:113:39
\|
113 \| access(all) struct MultipleSecret: FLOAT.IVerifier {
\| ^^^^^ not found in this scope

error: cannot find type in this scope: \`FLOAT\`
--\> 857dc34d5e1631d3.FLOATVerifiers:137:33
\|
137 \| access(all) struct SecretV2: FLOAT.IVerifier {
\| ^^^^^ not found in this scope

error: cannot find type in this scope: \`FLOAT\`
--\> 857dc34d5e1631d3.FLOATVerifiers:162:39
\|
162 \| access(all) struct MinimumBalance: FLOAT.IVerifier {
\| ^^^^^ not found in this scope

error: cannot find type in this scope: \`FLOAT\`
--\> 857dc34d5e1631d3.FLOATVerifiers:226:30
\|
226 \| access(all) struct Email: FLOAT.IVerifier {
\| ^^^^^ not found in this scope

error: cannot find type in this scope: \`FLOAT\`
--\> 857dc34d5e1631d3.FLOATVerifiers:94:51
\|
94 \| let floatEvent = params\$&"event"\$&! as! &FLOAT.FLOATEvent
\| ^^^^^ not found in this scope

error: cannot find type in this scope: \`FLOAT\`
--\> 857dc34d5e1631d3.FLOATVerifiers:230:51
\|
230 \| let floatEvent = params\$&"event"\$&! as! &FLOAT.FLOATEvent
\| ^^^^^ not found in this scope
| +| 0xf8ba321af4bd37bb | aiSportsMinter | ✅ | +| 0xe45c64ecfe31e465 | DelegatorManager | ✅ | +| 0xe45c64ecfe31e465 | LiquidStaking | ✅ | +| 0xe45c64ecfe31e465 | LiquidStakingConfig | ✅ | +| 0xe45c64ecfe31e465 | LiquidStakingError | ✅ | +| 0xe45c64ecfe31e465 | stFlowToken | ✅ | +| 0x2a9b59c3e2b72ee0 | OracleConfig | ✅ | +| 0x2a9b59c3e2b72ee0 | OracleInterface | ✅ | +| 0x6c35f966375845a6 | TixologiTickets | ✅ | +| 0xad26718c4b6b921b | BlackHole | ✅ | +| 0x683564e46977788a | MFLAdmin | ✅ | +| 0x683564e46977788a | MFLClub | ✅ | +| 0x683564e46977788a | MFLPack | ✅ | +| 0x683564e46977788a | MFLPackTemplate | ✅ | +| 0x683564e46977788a | MFLPlayer | ✅ | +| 0x683564e46977788a | MFLViews | ✅ | +| 0xcc4e949596cf8ced | TwoSegmentsInterestRateModel | ✅ | +| 0x23031fd14bb0f21b | TwoSegmentsInterestRateModel | ✅ | +| 0x92362a384f409a52 | TrmAssetV2_2 | ✅ | +| 0x92362a384f409a52 | TrmMarketV2_2 | ✅ | +| 0x92362a384f409a52 | TrmRentV2_2 | ✅ | +| 0xb39a42479c1c2c77 | AFLAdmin | ❌

Error:
error: error getting program b39a42479c1c2c77.AFLPack: failed to derive value: load program failed: Checking failed:
error: error getting program a983fecbed621163.FiatToken: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :5:0
\|
5 \| pub contract FiatToken: FungibleToken {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :10:4
\|
10 \| pub event AdminCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :11:4
\|
11 \| pub event AdminChanged(address: Address, resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :14:4
\|
14 \| pub event OwnerCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :15:4
\|
15 \| pub event OwnerChanged(address: Address, resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :18:4
\|
18 \| pub event MasterMinterCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:4
\|
19 \| pub event MasterMinterChanged(address: Address, resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :22:4
\|
22 \| pub event Paused()
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :23:4
\|
23 \| pub event Unpaused()
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :24:4
\|
24 \| pub event PauserCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :25:4
\|
25 \| pub event PauserChanged(address: Address, resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub event Blocklisted(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :29:4
\|
29 \| pub event Unblocklisted(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :30:4
\|
30 \| pub event BlocklisterCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :31:4
\|
31 \| pub event BlocklisterChanged(address: Address, resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :34:4
\|
34 \| pub event NewVault(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :35:4
\|
35 \| pub event DestroyVault(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :36:4
\|
36 \| pub event FiatTokenWithdrawn(amount: UFix64, from: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :37:4
\|
37 \| pub event FiatTokenDeposited(amount: UFix64, to: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :40:4
\|
40 \| pub event MinterCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :41:4
\|
41 \| pub event MinterControllerCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :42:4
\|
42 \| pub event Mint(minter: UInt64, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :43:4
\|
43 \| pub event Burn(minter: UInt64, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :44:4
\|
44 \| pub event MinterConfigured(controller: UInt64, minter: UInt64, allowance: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :45:4
\|
45 \| pub event MinterRemoved(controller: UInt64, minter: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :46:4
\|
46 \| pub event ControllerConfigured(controller: UInt64, minter: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :47:4
\|
47 \| pub event ControllerRemoved(controller: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :52:4
\|
52 \| pub event TokensInitialized(initialSupply: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :53:4
\|
53 \| pub event TokensWithdrawn(amount: UFix64, from: Address?)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :54:4
\|
54 \| pub event TokensDeposited(amount: UFix64, to: Address?)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:4
\|
59 \| pub let VaultStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :60:4
\|
60 \| pub let VaultBalancePubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :61:4
\|
61 \| pub let VaultUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :62:4
\|
62 \| pub let VaultReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :64:4
\|
64 \| pub let BlocklistExecutorStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :66:4
\|
66 \| pub let BlocklisterStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :67:4
\|
67 \| pub let BlocklisterCapReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :68:4
\|
68 \| pub let BlocklisterUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:4
\|
69 \| pub let BlocklisterPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :71:4
\|
71 \| pub let PauseExecutorStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :73:4
\|
73 \| pub let PauserStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :74:4
\|
74 \| pub let PauserCapReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :75:4
\|
75 \| pub let PauserUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :76:4
\|
76 \| pub let PauserPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :78:4
\|
78 \| pub let AdminExecutorStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :80:4
\|
80 \| pub let AdminStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :81:4
\|
81 \| pub let AdminCapReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:4
\|
82 \| pub let AdminUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :83:4
\|
83 \| pub let AdminPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :85:4
\|
85 \| pub let OwnerExecutorStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :87:4
\|
87 \| pub let OwnerStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :88:4
\|
88 \| pub let OwnerCapReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :89:4
\|
89 \| pub let OwnerUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:4
\|
90 \| pub let OwnerPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :92:4
\|
92 \| pub let MasterMinterExecutorStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :94:4
\|
94 \| pub let MasterMinterStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :95:4
\|
95 \| pub let MasterMinterCapReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :96:4
\|
96 \| pub let MasterMinterUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :97:4
\|
97 \| pub let MasterMinterPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:4
\|
99 \| pub let MinterControllerStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :100:4
\|
100 \| pub let MinterControllerUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :101:4
\|
101 \| pub let MinterControllerPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :103:4
\|
103 \| pub let MinterStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :104:4
\|
104 \| pub let MinterUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:4
\|
109 \| pub let name: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :110:4
\|
110 \| pub var version: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :112:4
\|
112 \| pub var paused: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :114:4
\|
114 \| pub var totalSupply: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :125:4
\|
125 \| pub resource interface ResourceId {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:8
\|
126 \| pub fun UUID(): UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :129:4
\|
129 \| pub resource interface AdminCapReceiver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :130:8
\|
130 \| pub fun setAdminCap(cap: Capability<&AdminExecutor>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:4
\|
133 \| pub resource interface OwnerCapReceiver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :134:8
\|
134 \| pub fun setOwnerCap(cap: Capability<&OwnerExecutor>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :137:4
\|
137 \| pub resource interface MasterMinterCapReceiver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :138:8
\|
138 \| pub fun setMasterMinterCap(cap: Capability<&MasterMinterExecutor>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :141:4
\|
141 \| pub resource interface BlocklisterCapReceiver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:8
\|
142 \| pub fun setBlocklistCap(cap: Capability<&BlocklistExecutor>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :145:4
\|
145 \| pub resource interface PauseCapReceiver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :146:8
\|
146 \| pub fun setPauseCap(cap: Capability<&PauseExecutor>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :186:4
\|
186 \| pub resource Vault:
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:8
\|
192 \| pub var balance: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:8
\|
194 \| pub fun withdraw(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :205:8
\|
205 \| pub fun deposit(from: @FungibleToken.Vault) {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :219:8
\|
219 \| pub fun UUID(): UInt64 {
\| ^^^

error: custom destructor definitions are no longer permitted
--\> :231:8
\|
231 \| destroy() {
\| ^ remove the destructor definition

error: \`pub\` is no longer a valid access keyword
--\> :244:4
\|
244 \| pub resource AdminExecutor {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :248:8
\|
248 \| pub fun upgradeContract(name: String, code: \$&UInt8\$&, version: String) {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :252:8
\|
252 \| pub fun changeAdmin(to: Address, newPath: PrivatePath) {
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :255:38
\|
255 \| .getCapability<&Admin{AdminCapReceiver}>(FiatToken.AdminCapReceiverPubPath)
\| ^^^^^^^^^^^^^^^^

--\> a983fecbed621163.FiatToken

error: cannot find type in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLPack:23:48

error: cannot find type in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLPack:165:55

error: cannot find variable in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLPack:165:72

error: cannot infer type parameter: \`T\`
--\> b39a42479c1c2c77.AFLPack:165:24

error: cannot find type in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLPack:111:38

error: cannot find type in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLPack:112:35

error: cannot infer type parameter: \`T\`
--\> b39a42479c1c2c77.AFLPack:111:56

error: cannot infer type parameter: \`T\`
--\> b39a42479c1c2c77.AFLPack:111:56

--\> b39a42479c1c2c77.AFLPack
| +| 0xb39a42479c1c2c77 | AFLBadges | ✅ | +| 0xb39a42479c1c2c77 | AFLBurnExchange | ✅ | +| 0xb39a42479c1c2c77 | AFLBurnRegistry | ✅ | +| 0xb39a42479c1c2c77 | AFLIndex | ✅ | +| 0xb39a42479c1c2c77 | AFLMarketplace | ❌

Error:
error: error getting program a983fecbed621163.FiatToken: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :5:0
\|
5 \| pub contract FiatToken: FungibleToken {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :10:4
\|
10 \| pub event AdminCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :11:4
\|
11 \| pub event AdminChanged(address: Address, resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :14:4
\|
14 \| pub event OwnerCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :15:4
\|
15 \| pub event OwnerChanged(address: Address, resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :18:4
\|
18 \| pub event MasterMinterCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:4
\|
19 \| pub event MasterMinterChanged(address: Address, resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :22:4
\|
22 \| pub event Paused()
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :23:4
\|
23 \| pub event Unpaused()
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :24:4
\|
24 \| pub event PauserCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :25:4
\|
25 \| pub event PauserChanged(address: Address, resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub event Blocklisted(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :29:4
\|
29 \| pub event Unblocklisted(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :30:4
\|
30 \| pub event BlocklisterCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :31:4
\|
31 \| pub event BlocklisterChanged(address: Address, resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :34:4
\|
34 \| pub event NewVault(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :35:4
\|
35 \| pub event DestroyVault(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :36:4
\|
36 \| pub event FiatTokenWithdrawn(amount: UFix64, from: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :37:4
\|
37 \| pub event FiatTokenDeposited(amount: UFix64, to: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :40:4
\|
40 \| pub event MinterCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :41:4
\|
41 \| pub event MinterControllerCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :42:4
\|
42 \| pub event Mint(minter: UInt64, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :43:4
\|
43 \| pub event Burn(minter: UInt64, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :44:4
\|
44 \| pub event MinterConfigured(controller: UInt64, minter: UInt64, allowance: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :45:4
\|
45 \| pub event MinterRemoved(controller: UInt64, minter: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :46:4
\|
46 \| pub event ControllerConfigured(controller: UInt64, minter: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :47:4
\|
47 \| pub event ControllerRemoved(controller: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :52:4
\|
52 \| pub event TokensInitialized(initialSupply: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :53:4
\|
53 \| pub event TokensWithdrawn(amount: UFix64, from: Address?)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :54:4
\|
54 \| pub event TokensDeposited(amount: UFix64, to: Address?)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:4
\|
59 \| pub let VaultStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :60:4
\|
60 \| pub let VaultBalancePubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :61:4
\|
61 \| pub let VaultUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :62:4
\|
62 \| pub let VaultReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :64:4
\|
64 \| pub let BlocklistExecutorStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :66:4
\|
66 \| pub let BlocklisterStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :67:4
\|
67 \| pub let BlocklisterCapReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :68:4
\|
68 \| pub let BlocklisterUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:4
\|
69 \| pub let BlocklisterPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :71:4
\|
71 \| pub let PauseExecutorStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :73:4
\|
73 \| pub let PauserStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :74:4
\|
74 \| pub let PauserCapReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :75:4
\|
75 \| pub let PauserUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :76:4
\|
76 \| pub let PauserPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :78:4
\|
78 \| pub let AdminExecutorStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :80:4
\|
80 \| pub let AdminStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :81:4
\|
81 \| pub let AdminCapReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:4
\|
82 \| pub let AdminUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :83:4
\|
83 \| pub let AdminPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :85:4
\|
85 \| pub let OwnerExecutorStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :87:4
\|
87 \| pub let OwnerStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :88:4
\|
88 \| pub let OwnerCapReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :89:4
\|
89 \| pub let OwnerUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:4
\|
90 \| pub let OwnerPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :92:4
\|
92 \| pub let MasterMinterExecutorStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :94:4
\|
94 \| pub let MasterMinterStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :95:4
\|
95 \| pub let MasterMinterCapReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :96:4
\|
96 \| pub let MasterMinterUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :97:4
\|
97 \| pub let MasterMinterPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:4
\|
99 \| pub let MinterControllerStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :100:4
\|
100 \| pub let MinterControllerUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :101:4
\|
101 \| pub let MinterControllerPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :103:4
\|
103 \| pub let MinterStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :104:4
\|
104 \| pub let MinterUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:4
\|
109 \| pub let name: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :110:4
\|
110 \| pub var version: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :112:4
\|
112 \| pub var paused: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :114:4
\|
114 \| pub var totalSupply: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :125:4
\|
125 \| pub resource interface ResourceId {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:8
\|
126 \| pub fun UUID(): UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :129:4
\|
129 \| pub resource interface AdminCapReceiver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :130:8
\|
130 \| pub fun setAdminCap(cap: Capability<&AdminExecutor>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:4
\|
133 \| pub resource interface OwnerCapReceiver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :134:8
\|
134 \| pub fun setOwnerCap(cap: Capability<&OwnerExecutor>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :137:4
\|
137 \| pub resource interface MasterMinterCapReceiver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :138:8
\|
138 \| pub fun setMasterMinterCap(cap: Capability<&MasterMinterExecutor>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :141:4
\|
141 \| pub resource interface BlocklisterCapReceiver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:8
\|
142 \| pub fun setBlocklistCap(cap: Capability<&BlocklistExecutor>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :145:4
\|
145 \| pub resource interface PauseCapReceiver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :146:8
\|
146 \| pub fun setPauseCap(cap: Capability<&PauseExecutor>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :186:4
\|
186 \| pub resource Vault:
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:8
\|
192 \| pub var balance: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:8
\|
194 \| pub fun withdraw(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :205:8
\|
205 \| pub fun deposit(from: @FungibleToken.Vault) {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :219:8
\|
219 \| pub fun UUID(): UInt64 {
\| ^^^

error: custom destructor definitions are no longer permitted
--\> :231:8
\|
231 \| destroy() {
\| ^ remove the destructor definition

error: \`pub\` is no longer a valid access keyword
--\> :244:4
\|
244 \| pub resource AdminExecutor {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :248:8
\|
248 \| pub fun upgradeContract(name: String, code: \$&UInt8\$&, version: String) {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :252:8
\|
252 \| pub fun changeAdmin(to: Address, newPath: PrivatePath) {
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :255:38
\|
255 \| .getCapability<&Admin{AdminCapReceiver}>(FiatToken.AdminCapReceiverPubPath)
\| ^^^^^^^^^^^^^^^^

--\> a983fecbed621163.FiatToken

error: cannot find type in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLMarketplace:79:33
\|
79 \| init (vault: Capability<&FiatToken.Vault>) {
\| ^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLMarketplace:77:49
\|
77 \| access(self) let ownerVault: Capability<&FiatToken.Vault>
\| ^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLMarketplace:259:70
\|
259 \| access(all) fun changeMarketplaceWallet(\_ newCap: Capability<&FiatToken.Vault>) {
\| ^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLMarketplace:12:56
\|
12 \| access(contract) var marketplaceWallet: Capability<&FiatToken.Vault>
\| ^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLMarketplace:242:65
\|
242 \| access(all) fun createSaleCollection(ownerVault: Capability<&FiatToken.Vault>): @SaleCollection {
\| ^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLMarketplace:277:64
\|
277 \| self.marketplaceWallet = self.account.capabilities.get<&FiatToken.Vault>(/public/FiatTokenVaultReceiver)
\| ^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> b39a42479c1c2c77.AFLMarketplace:277:33
\|
277 \| self.marketplaceWallet = self.account.capabilities.get<&FiatToken.Vault>(/public/FiatTokenVaultReceiver)
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find type in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLMarketplace:119:36
\|
119 \| let saleOwnerVaultRef: &FiatToken.Vault = self.ownerVault.borrow() ?? panic("could not borrow reference to the owner vault")
\| ^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLMarketplace:126:36
\|
126 \| let marketplaceWallet: &FiatToken.Vault = AFLMarketplace.marketplaceWallet.borrow() ?? panic("Couldn't borrow Vault reference")
\| ^^^^^^^^^ not found in this scope
| +| 0xb39a42479c1c2c77 | AFLMetadataHelper | ✅ | +| 0xb39a42479c1c2c77 | AFLNFT | ✅ | +| 0xb39a42479c1c2c77 | AFLPack | ❌

Error:
error: error getting program a983fecbed621163.FiatToken: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :5:0
\|
5 \| pub contract FiatToken: FungibleToken {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :10:4
\|
10 \| pub event AdminCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :11:4
\|
11 \| pub event AdminChanged(address: Address, resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :14:4
\|
14 \| pub event OwnerCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :15:4
\|
15 \| pub event OwnerChanged(address: Address, resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :18:4
\|
18 \| pub event MasterMinterCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:4
\|
19 \| pub event MasterMinterChanged(address: Address, resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :22:4
\|
22 \| pub event Paused()
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :23:4
\|
23 \| pub event Unpaused()
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :24:4
\|
24 \| pub event PauserCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :25:4
\|
25 \| pub event PauserChanged(address: Address, resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub event Blocklisted(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :29:4
\|
29 \| pub event Unblocklisted(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :30:4
\|
30 \| pub event BlocklisterCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :31:4
\|
31 \| pub event BlocklisterChanged(address: Address, resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :34:4
\|
34 \| pub event NewVault(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :35:4
\|
35 \| pub event DestroyVault(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :36:4
\|
36 \| pub event FiatTokenWithdrawn(amount: UFix64, from: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :37:4
\|
37 \| pub event FiatTokenDeposited(amount: UFix64, to: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :40:4
\|
40 \| pub event MinterCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :41:4
\|
41 \| pub event MinterControllerCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :42:4
\|
42 \| pub event Mint(minter: UInt64, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :43:4
\|
43 \| pub event Burn(minter: UInt64, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :44:4
\|
44 \| pub event MinterConfigured(controller: UInt64, minter: UInt64, allowance: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :45:4
\|
45 \| pub event MinterRemoved(controller: UInt64, minter: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :46:4
\|
46 \| pub event ControllerConfigured(controller: UInt64, minter: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :47:4
\|
47 \| pub event ControllerRemoved(controller: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :52:4
\|
52 \| pub event TokensInitialized(initialSupply: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :53:4
\|
53 \| pub event TokensWithdrawn(amount: UFix64, from: Address?)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :54:4
\|
54 \| pub event TokensDeposited(amount: UFix64, to: Address?)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:4
\|
59 \| pub let VaultStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :60:4
\|
60 \| pub let VaultBalancePubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :61:4
\|
61 \| pub let VaultUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :62:4
\|
62 \| pub let VaultReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :64:4
\|
64 \| pub let BlocklistExecutorStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :66:4
\|
66 \| pub let BlocklisterStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :67:4
\|
67 \| pub let BlocklisterCapReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :68:4
\|
68 \| pub let BlocklisterUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:4
\|
69 \| pub let BlocklisterPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :71:4
\|
71 \| pub let PauseExecutorStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :73:4
\|
73 \| pub let PauserStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :74:4
\|
74 \| pub let PauserCapReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :75:4
\|
75 \| pub let PauserUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :76:4
\|
76 \| pub let PauserPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :78:4
\|
78 \| pub let AdminExecutorStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :80:4
\|
80 \| pub let AdminStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :81:4
\|
81 \| pub let AdminCapReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:4
\|
82 \| pub let AdminUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :83:4
\|
83 \| pub let AdminPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :85:4
\|
85 \| pub let OwnerExecutorStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :87:4
\|
87 \| pub let OwnerStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :88:4
\|
88 \| pub let OwnerCapReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :89:4
\|
89 \| pub let OwnerUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:4
\|
90 \| pub let OwnerPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :92:4
\|
92 \| pub let MasterMinterExecutorStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :94:4
\|
94 \| pub let MasterMinterStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :95:4
\|
95 \| pub let MasterMinterCapReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :96:4
\|
96 \| pub let MasterMinterUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :97:4
\|
97 \| pub let MasterMinterPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:4
\|
99 \| pub let MinterControllerStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :100:4
\|
100 \| pub let MinterControllerUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :101:4
\|
101 \| pub let MinterControllerPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :103:4
\|
103 \| pub let MinterStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :104:4
\|
104 \| pub let MinterUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:4
\|
109 \| pub let name: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :110:4
\|
110 \| pub var version: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :112:4
\|
112 \| pub var paused: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :114:4
\|
114 \| pub var totalSupply: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :125:4
\|
125 \| pub resource interface ResourceId {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:8
\|
126 \| pub fun UUID(): UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :129:4
\|
129 \| pub resource interface AdminCapReceiver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :130:8
\|
130 \| pub fun setAdminCap(cap: Capability<&AdminExecutor>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:4
\|
133 \| pub resource interface OwnerCapReceiver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :134:8
\|
134 \| pub fun setOwnerCap(cap: Capability<&OwnerExecutor>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :137:4
\|
137 \| pub resource interface MasterMinterCapReceiver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :138:8
\|
138 \| pub fun setMasterMinterCap(cap: Capability<&MasterMinterExecutor>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :141:4
\|
141 \| pub resource interface BlocklisterCapReceiver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:8
\|
142 \| pub fun setBlocklistCap(cap: Capability<&BlocklistExecutor>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :145:4
\|
145 \| pub resource interface PauseCapReceiver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :146:8
\|
146 \| pub fun setPauseCap(cap: Capability<&PauseExecutor>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :186:4
\|
186 \| pub resource Vault:
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:8
\|
192 \| pub var balance: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:8
\|
194 \| pub fun withdraw(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :205:8
\|
205 \| pub fun deposit(from: @FungibleToken.Vault) {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :219:8
\|
219 \| pub fun UUID(): UInt64 {
\| ^^^

error: custom destructor definitions are no longer permitted
--\> :231:8
\|
231 \| destroy() {
\| ^ remove the destructor definition

error: \`pub\` is no longer a valid access keyword
--\> :244:4
\|
244 \| pub resource AdminExecutor {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :248:8
\|
248 \| pub fun upgradeContract(name: String, code: \$&UInt8\$&, version: String) {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :252:8
\|
252 \| pub fun changeAdmin(to: Address, newPath: PrivatePath) {
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :255:38
\|
255 \| .getCapability<&Admin{AdminCapReceiver}>(FiatToken.AdminCapReceiverPubPath)
\| ^^^^^^^^^^^^^^^^

--\> a983fecbed621163.FiatToken

error: cannot find type in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLPack:23:48
\|
23 \| access(contract) let adminRef : Capability<&FiatToken.Vault>
\| ^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLPack:165:55
\|
165 \| self.adminRef = self.account.capabilities.get<&FiatToken.Vault>(FiatToken.VaultReceiverPubPath)
\| ^^^^^^^^^ not found in this scope

error: cannot find variable in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLPack:165:72
\|
165 \| self.adminRef = self.account.capabilities.get<&FiatToken.Vault>(FiatToken.VaultReceiverPubPath)
\| ^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> b39a42479c1c2c77.AFLPack:165:24
\|
165 \| self.adminRef = self.account.capabilities.get<&FiatToken.Vault>(FiatToken.VaultReceiverPubPath)
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find type in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLPack:111:38
\|
111 \| let recipientCollection: &FiatToken.Vault = receiptAccount
\| ^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLPack:112:35
\|
112 \| .capabilities.get<&FiatToken.Vault>(/public/FiatTokenVaultReceiver)
\| ^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> b39a42479c1c2c77.AFLPack:111:56
\|
111 \| let recipientCollection: &FiatToken.Vault = receiptAccount
112 \| .capabilities.get<&FiatToken.Vault>(/public/FiatTokenVaultReceiver)
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot infer type parameter: \`T\`
--\> b39a42479c1c2c77.AFLPack:111:56
\|
111 \| let recipientCollection: &FiatToken.Vault = receiptAccount
112 \| .capabilities.get<&FiatToken.Vault>(/public/FiatTokenVaultReceiver)
113 \| .borrow()
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| +| 0xb39a42479c1c2c77 | PackRestrictions | ✅ | +| 0xb39a42479c1c2c77 | StorageHelper | ✅ | +| 0x6b2e1b9d3c5ac5db | ValueLink_NFTMarketplace_v1 | ✅ | +| 0x6b2e1b9d3c5ac5db | ValueLink_NFT_v1 | ✅ | +| 0xb668e8c9726ef26b | FanTopMarket | ✅ | +| 0xb668e8c9726ef26b | FanTopPermission | ✅ | +| 0xb668e8c9726ef26b | FanTopPermissionV2a | ✅ | +| 0xb668e8c9726ef26b | FanTopSerial | ✅ | +| 0x94b06cfca1d8a476 | NFTStorefront | ✅ | +| 0xb668e8c9726ef26b | FanTopToken | ✅ | +| 0xb668e8c9726ef26b | Signature | ✅ | +| 0xe7d5fb4c128b85b7 | Genies | ✅ | +| 0x74ad08095d92192a | ETHUtils | ✅ | +| 0x74ad08095d92192a | EVMAgent | ✅ | +| 0x74ad08095d92192a | FGameLottery | ✅ | +| 0x74ad08095d92192a | FGameLotteryFactory | ✅ | +| 0x74ad08095d92192a | FGameLotteryRegistry | ✅ | +| 0x74ad08095d92192a | FGameRugRoyale | ✅ | +| 0x74ad08095d92192a | FRC20AccountsPool | ✅ | +| 0x74ad08095d92192a | FRC20Agents | ✅ | +| 0x74ad08095d92192a | FRC20Converter | ✅ | +| 0x74ad08095d92192a | FRC20FTShared | ✅ | +| 0x74ad08095d92192a | FRC20FungibleToken | ✅ | +| 0x74ad08095d92192a | FRC20Indexer | ✅ | +| 0x74ad08095d92192a | FRC20MarketManager | ✅ | +| 0x74ad08095d92192a | FRC20Marketplace | ✅ | +| 0x74ad08095d92192a | FRC20NFTWrapper | ✅ | +| 0x74ad08095d92192a | FRC20SemiNFT | ✅ | +| 0x74ad08095d92192a | FRC20Staking | ✅ | +| 0x74ad08095d92192a | FRC20StakingForwarder | ✅ | +| 0x74ad08095d92192a | FRC20StakingManager | ✅ | +| 0x74ad08095d92192a | FRC20StakingVesting | ✅ | +| 0x74ad08095d92192a | FRC20Storefront | ✅ | +| 0x74ad08095d92192a | FRC20TradingRecord | ✅ | +| 0x74ad08095d92192a | FRC20VoteCommands | ✅ | +| 0x74ad08095d92192a | FRC20Votes | ✅ | +| 0x74ad08095d92192a | Fixes | ✅ | +| 0x74ad08095d92192a | FixesAssetMeta | ✅ | +| 0x74ad08095d92192a | FixesAvatar | ✅ | +| 0x74ad08095d92192a | FixesBondingCurve | ✅ | +| 0x74ad08095d92192a | FixesFungibleToken | ✅ | +| 0x74ad08095d92192a | FixesFungibleTokenInterface | ✅ | +| 0x74ad08095d92192a | FixesHeartbeat | ✅ | +| 0x74ad08095d92192a | FixesInscriptionFactory | ✅ | +| 0x74ad08095d92192a | FixesTokenAirDrops | ✅ | +| 0x74ad08095d92192a | FixesTokenLockDrops | ✅ | +| 0x74ad08095d92192a | FixesTradablePool | ✅ | +| 0x74ad08095d92192a | FixesTraits | ✅ | +| 0x74ad08095d92192a | FixesWrappedNFT | ✅ | +| 0x74ad08095d92192a | FungibleTokenManager | ✅ | +| 0x3b220a3372190656 | PriceOracle | ✅ | +| 0x324c34e1c517e4db | NFTCatalog | ✅ | +| 0x324c34e1c517e4db | NFTCatalogAdmin | ✅ | +| 0x324c34e1c517e4db | NFTRetrieval | ✅ | +| 0xe223d8a629e49c68 | FUSD | ✅ | +| 0xd9c02cdacccb25ab | FlowtyTestNFT | ✅ | +| 0x886d5599b3bfc873 | A | ✅ | +| 0x886d5599b3bfc873 | B | ✅ | +| 0xb86f928a1fa7798e | FTViewUtils | ✅ | +| 0xb86f928a1fa7798e | TokenList | ✅ | +| 0xb86f928a1fa7798e | ViewResolvers | ✅ | +| 0x917db7072ed7160b | Cryptoys | ✅ | +| 0x917db7072ed7160b | CryptoysMetadataView2 | ✅ | +| 0x917db7072ed7160b | ICryptoys | ✅ | +| 0x08b1f9c0bc04f36f | IconoGraphika | ✅ | +| 0xe1d43e0cfc237807 | Flowty | ✅ | +| 0xe1d43e0cfc237807 | FlowtyRentals | ✅ | +| 0xe1d43e0cfc237807 | RoyaltiesLedger | ✅ | +| 0x3a52faafb43951c0 | BigEast | ✅ | +| 0x3a52faafb43951c0 | LNVCT | ✅ | +| 0x3a52faafb43951c0 | MLS | ✅ | +| 0x3a52faafb43951c0 | NFL | ✅ | +| 0x3a52faafb43951c0 | Sharks | ✅ | +| 0x3a52faafb43951c0 | Stanz | ✅ | +| 0x3a52faafb43951c0 | TMNFT | ✅ | +| 0x24650d6246d4176c | PriceOracle | ✅ | +| 0x51ea0e37c27a1f1a | TokenForwarding | ✅ | +| 0xa63ecf66edb620ef | ZeedzINO | ✅ | +| 0x9e324d8ae3cbd0f0 | LendingPool | ✅ | +| 0x9392a4a7c3f49a0b | DummyDustTokenMinter | ❌

Error:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.DummyDustTokenMinter:8:23
\|
8 \| resource DummyMinter: Toucans.Minter{
\| ^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.DummyDustTokenMinter:10:29
\|
10 \| fun mint(amount: UFix64): @FlovatarDustToken.Vault{
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find variable in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.DummyDustTokenMinter:11:12
\|
11 \| return <-FlovatarDustToken.createEmptyDustVault()
\| ^^^^^^^^^^^^^^^^^ not found in this scope
| +| 0x9392a4a7c3f49a0b | Flobot | ❌

Error:
error: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:
error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:31

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:25

--\> 9392a4a7c3f49a0b.FlovatarPack
| +| 0x9392a4a7c3f49a0b | Flovatar | ❌

Error:
error: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:
error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:31

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:25

--\> 9392a4a7c3f49a0b.FlovatarPack

error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarPack\`
--\> 9392a4a7c3f49a0b.Flovatar:1435:144
\|
1435 \| fun createPack(components: @\$&FlovatarComponent.NFT\$&, randomString: String, price: UFix64, sparkCount: UInt32, series: UInt32, name: String): @FlovatarPack.Pack{
\| ^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:365:27
\|
365 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:365:21
\|
365 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:397:27
\|
397 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:397:21
\|
397 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:417:27
\|
417 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:417:21
\|
417 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:434:27
\|
434 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:434:21
\|
434 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:458:27
\|
458 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:458:21
\|
458 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find variable in this scope: \`FlovatarPack\`
--\> 9392a4a7c3f49a0b.Flovatar:1436:12
\|
1436 \| return <-FlovatarPack.createPack(components: <-components, randomString: randomString, price: price, sparkCount: sparkCount, series: series, name: name)
\| ^^^^^^^^^^^^ not found in this scope
| +| 0x8d5aac1da9c370bc | A | ✅ | +| 0x8d5aac1da9c370bc | B | ✅ | +| 0x8d5aac1da9c370bc | Contract | ✅ | +| 0x9392a4a7c3f49a0b | FlovatarComponent | ✅ | +| 0x9392a4a7c3f49a0b | FlovatarComponentTemplate | ✅ | +| 0x9392a4a7c3f49a0b | FlovatarComponentUpgrader | ❌

Error:
error: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:
error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:31

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:25

--\> 9392a4a7c3f49a0b.FlovatarPack

error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: error getting program 9392a4a7c3f49a0b.FlovatarInbox: failed to derive value: load program failed: Checking failed:
error: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:
error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:31

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:25

--\> 9392a4a7c3f49a0b.FlovatarPack

error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: error getting program 9392a4a7c3f49a0b.Flovatar: failed to derive value: load program failed: Checking failed:
error: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:
error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:31

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:25

--\> 9392a4a7c3f49a0b.FlovatarPack

error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarPack\`
--\> 9392a4a7c3f49a0b.Flovatar:1435:144

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:365:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:365:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:397:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:397:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:417:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:417:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:434:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:434:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:458:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:458:21

error: cannot find variable in this scope: \`FlovatarPack\`
--\> 9392a4a7c3f49a0b.Flovatar:1436:12

--\> 9392a4a7c3f49a0b.Flovatar

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:122:18

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:37:22

error: cannot find variable in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:643:25

error: cannot find variable in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:390:21

error: cannot find variable in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:453:21

error: cannot find variable in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:455:83

error: cannot find variable in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:478:6

error: cannot find variable in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:500:3

error: cannot find variable in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:542:83

error: cannot find variable in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:578:83

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:601:26

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:601:20

error: cannot find variable in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:132:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:235:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:235:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:246:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:246:21

--\> 9392a4a7c3f49a0b.FlovatarInbox

error: error getting program 9392a4a7c3f49a0b.Flovatar: failed to derive value: load program failed: Checking failed:
error: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:
error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:31

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:25

--\> 9392a4a7c3f49a0b.FlovatarPack

error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarPack\`
--\> 9392a4a7c3f49a0b.Flovatar:1435:144

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:365:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:365:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:397:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:397:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:417:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:417:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:434:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:434:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:458:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:458:21

error: cannot find variable in this scope: \`FlovatarPack\`
--\> 9392a4a7c3f49a0b.Flovatar:1436:12

--\> 9392a4a7c3f49a0b.Flovatar

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarComponentUpgrader:202:26
\|
202 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarComponentUpgrader:202:20
\|
202 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find type in this scope: \`FlovatarInbox\`
--\> 9392a4a7c3f49a0b.FlovatarComponentUpgrader:258:65
\|
258 \| self.account.storage.borrow(
\| ^^^^^^^^^^^^^ not found in this scope

error: cannot find variable in this scope: \`FlovatarInbox\`
--\> 9392a4a7c3f49a0b.FlovatarComponentUpgrader:259:11
\|
259 \| from: FlovatarInbox.CollectionStoragePath
\| ^^^^^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarComponentUpgrader:258:4
\|
258 \| self.account.storage.borrow(
259 \| from: FlovatarInbox.CollectionStoragePath
260 \| ){
\| ^
| +| 0x9392a4a7c3f49a0b | FlovatarDustCollectible | ❌

Error:
error: error getting program 9392a4a7c3f49a0b.FlovatarDustCollectibleAccessory: failed to derive value: load program failed: Checking failed:
error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectibleAccessory:562:26

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectibleAccessory:562:20

--\> 9392a4a7c3f49a0b.FlovatarDustCollectibleAccessory

error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarDustCollectibleAccessory\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:193:46
\|
193 \| fun setAccessory(layer: UInt32, accessory: @FlovatarDustCollectibleAccessory.NFT): @FlovatarDustCollectibleAccessory.NFT?
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FlovatarDustCollectibleAccessory\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:193:86
\|
193 \| fun setAccessory(layer: UInt32, accessory: @FlovatarDustCollectibleAccessory.NFT): @FlovatarDustCollectibleAccessory.NFT?
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FlovatarDustCollectibleAccessory\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:196:39
\|
196 \| fun removeAccessory(layer: UInt32): @FlovatarDustCollectibleAccessory.NFT?
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FlovatarDustCollectibleAccessory\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:242:29
\|
242 \| let accessories: @{UInt32: FlovatarDustCollectibleAccessory.NFT}
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FlovatarDustCollectibleAccessory\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:400:46
\|
400 \| fun setAccessory(layer: UInt32, accessory: @FlovatarDustCollectibleAccessory.NFT): @FlovatarDustCollectibleAccessory.NFT?{
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FlovatarDustCollectibleAccessory\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:400:86
\|
400 \| fun setAccessory(layer: UInt32, accessory: @FlovatarDustCollectibleAccessory.NFT): @FlovatarDustCollectibleAccessory.NFT?{
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FlovatarDustCollectibleAccessory\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:415:39
\|
415 \| fun removeAccessory(layer: UInt32): @FlovatarDustCollectibleAccessory.NFT?{
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FlovatarDustCollectibleAccessory\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:1068:46
\|
1068 \| fun createCollectible(templateId: UInt64): @FlovatarDustCollectibleAccessory.NFT{
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FlovatarDustCollectibleAccessory\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:1074:70
\|
1074 \| fun batchCreateCollectibles(templateId: UInt64, quantity: UInt64): @FlovatarDustCollectibleAccessory.Collection{
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:930:26
\|
930 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:930:20
\|
930 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:311:27
\|
311 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:311:21
\|
311 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:343:27
\|
343 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:343:21
\|
343 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:370:27
\|
370 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:370:21
\|
370 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find variable in this scope: \`FlovatarDustCollectibleAccessory\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:1069:12
\|
1069 \| return <-FlovatarDustCollectibleAccessory.createCollectibleAccessoryInternal(templateId: templateId)
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find variable in this scope: \`FlovatarDustCollectibleAccessory\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:1075:12
\|
1075 \| return <-FlovatarDustCollectibleAccessory.batchCreateCollectibleAccessory(templateId: templateId, quantity: quantity)
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
| +| 0x9392a4a7c3f49a0b | FlovatarDustCollectibleAccessory | ❌

Error:
error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectibleAccessory:562:26
\|
562 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectibleAccessory:562:20
\|
562 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| +| 0x9392a4a7c3f49a0b | FlovatarDustCollectibleTemplate | ✅ | +| 0x9392a4a7c3f49a0b | FlovatarDustToken | ❌

Error:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18
\|
286 \| resource Minter: Toucans.Minter{
\| ^^^^^^^ not found in this scope
| +| 0x9392a4a7c3f49a0b | FlovatarInbox | ❌

Error:
error: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:
error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:31

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:25

--\> 9392a4a7c3f49a0b.FlovatarPack

error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: error getting program 9392a4a7c3f49a0b.Flovatar: failed to derive value: load program failed: Checking failed:
error: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:
error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:31

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:25

--\> 9392a4a7c3f49a0b.FlovatarPack

error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarPack\`
--\> 9392a4a7c3f49a0b.Flovatar:1435:144

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:365:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:365:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:397:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:397:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:417:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:417:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:434:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:434:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:458:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:458:21

error: cannot find variable in this scope: \`FlovatarPack\`
--\> 9392a4a7c3f49a0b.Flovatar:1436:12

--\> 9392a4a7c3f49a0b.Flovatar

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:122:18
\|
122 \| let dustVault: @FlovatarDustToken.Vault
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:37:22
\|
37 \| let communityVault: @FlovatarDustToken.Vault
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find variable in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:643:25
\|
643 \| self.communityVault <- FlovatarDustToken.createEmptyDustVault()
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find variable in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:390:21
\|
390 \| if let flovatar = Flovatar.getFlovatar(address: address, flovatarId: id){
\| ^^^^^^^^ not found in this scope

error: cannot find variable in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:453:21
\|
453 \| if let flovatar = Flovatar.getFlovatar(address: address, flovatarId: id){
\| ^^^^^^^^ not found in this scope

error: cannot find variable in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:455:83
\|
455 \| let receiverRef = (receiverAccount.capabilities.get<&{FungibleToken.Receiver}>(FlovatarDustToken.VaultReceiverPath)!).borrow() ?? panic("Could not borrow receiver reference to the recipient's Vault")
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find variable in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:478:6
\|
478 \| FlovatarDustToken.VaultReceiverPath
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find variable in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:500:3
\|
500 \| Flovatar.getFlovatarRarityScore(address: address, flovatarId: id){
\| ^^^^^^^^ not found in this scope

error: cannot find variable in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:542:83
\|
542 \| let receiverRef = (receiverAccount.capabilities.get<&{FungibleToken.Receiver}>(FlovatarDustToken.VaultReceiverPath)!).borrow() ?? panic("Could not borrow receiver reference to the recipient's Vault")
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find variable in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:578:83
\|
578 \| let receiverRef = (receiverAccount.capabilities.get<&{FungibleToken.Receiver}>(FlovatarDustToken.VaultReceiverPath)!).borrow() ?? panic("Could not borrow receiver reference to the recipient's Vault")
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:601:26
\|
601 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:601:20
\|
601 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find variable in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:132:21
\|
132 \| self.dustVault <- FlovatarDustToken.createEmptyDustVault()
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:235:27
\|
235 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:235:21
\|
235 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:246:27
\|
246 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:246:21
\|
246 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| +| 0x9392a4a7c3f49a0b | FlovatarMarketplace | ❌

Error:
error: error getting program 9392a4a7c3f49a0b.Flovatar: failed to derive value: load program failed: Checking failed:
error: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:
error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:31

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:25

--\> 9392a4a7c3f49a0b.FlovatarPack

error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarPack\`
--\> 9392a4a7c3f49a0b.Flovatar:1435:144

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:365:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:365:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:397:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:397:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:417:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:417:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:434:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:434:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:458:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:458:21

error: cannot find variable in this scope: \`FlovatarPack\`
--\> 9392a4a7c3f49a0b.Flovatar:1436:12

--\> 9392a4a7c3f49a0b.Flovatar

error: cannot find type in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:66:30
\|
66 \| recipientCap: Capability<&{Flovatar.CollectionPublic}>,
\| ^^^^^^^^ not found in this scope

error: ambiguous intersection type
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:66:29
\|
66 \| recipientCap: Capability<&{Flovatar.CollectionPublic}>,
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find type in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:90:38
\|
90 \| fun getFlovatar(tokenId: UInt64): &{Flovatar.Public}?
\| ^^^^^^^^ not found in this scope

error: ambiguous intersection type
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:90:37
\|
90 \| fun getFlovatar(tokenId: UInt64): &{Flovatar.Public}?
\| ^^^^^^^^^^^^^^^^^

error: cannot find type in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:103:33
\|
103 \| let flovatarForSale: @{UInt64: Flovatar.NFT}
\| ^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:131:42
\|
131 \| fun withdrawFlovatar(tokenId: UInt64): @Flovatar.NFT{
\| ^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:155:34
\|
155 \| fun listFlovatarForSale(token: @Flovatar.NFT, price: UFix64){
\| ^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:202:67
\|
202 \| fun purchaseFlovatar(tokenId: UInt64, recipientCap: Capability<&{Flovatar.CollectionPublic}>, buyTokens: @{FungibleToken.Vault}){
\| ^^^^^^^^ not found in this scope

error: ambiguous intersection type
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:202:66
\|
202 \| fun purchaseFlovatar(tokenId: UInt64, recipientCap: Capability<&{Flovatar.CollectionPublic}>, buyTokens: @{FungibleToken.Vault}){
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find type in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:296:38
\|
296 \| fun getFlovatar(tokenId: UInt64): &{Flovatar.Public}?{
\| ^^^^^^^^ not found in this scope

error: ambiguous intersection type
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:296:37
\|
296 \| fun getFlovatar(tokenId: UInt64): &{Flovatar.Public}?{
\| ^^^^^^^^^^^^^^^^^

error: cannot find type in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:346:13
\|
346 \| metadata: Flovatar.Metadata,
\| ^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:329:16
\|
329 \| let metadata: Flovatar.Metadata
\| ^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:216:30
\|
216 \| if !token.isInstance(Type<@Flovatar.NFT>()){
\| ^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:216:24
\|
216 \| if !token.isInstance(Type<@Flovatar.NFT>()){
\| ^^^^^^^^^^^^^^^^^^^^^

error: cannot find variable in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:221:31
\|
221 \| let creatorAmount = price \* Flovatar.getRoyaltyCut()
\| ^^^^^^^^ not found in this scope

error: cannot find variable in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:225:35
\|
225 \| let marketplaceAmount = price \* Flovatar.getMarketplaceCut()
\| ^^^^^^^^ not found in this scope

error: cannot find variable in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:257:35
\|
257 \| let marketplaceAmount = price \* Flovatar.getMarketplaceCut()
\| ^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:298:50
\|
298 \| let ref = (&self.flovatarForSale\$&tokenId\$& as &Flovatar.NFT?)!
\| ^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:299:20
\|
299 \| return ref as! &Flovatar.NFT
\| ^^^^^^^^ not found in this scope
| +| 0x9392a4a7c3f49a0b | FlovatarPack | ❌

Error:
error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:31
\|
415 \| buyTokens.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:25
\|
415 \| buyTokens.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| +| 0x0d3dc5ad70be03d1 | Filter | ✅ | +| 0x0d3dc5ad70be03d1 | Offers | ✅ | +| 0x0d3dc5ad70be03d1 | ScopedFTProviders | ✅ | +| 0x3870b3d38f83ae4c | FiatToken | ❌

Error:
error: missing resource declaration \`Admin\`
--\> 3870b3d38f83ae4c.FiatToken:7:21
\|
7 \| access(all) contract FiatToken: FungibleToken {
\| ^^^^^^^^^

error: missing resource declaration \`AdminExecutor\`
--\> 3870b3d38f83ae4c.FiatToken:7:21
\|
7 \| access(all) contract FiatToken: FungibleToken {
\| ^^^^^^^^^

error: missing resource declaration \`BlocklistExecutor\`
--\> 3870b3d38f83ae4c.FiatToken:7:21
\|
7 \| access(all) contract FiatToken: FungibleToken {
\| ^^^^^^^^^

error: missing resource declaration \`Blocklister\`
--\> 3870b3d38f83ae4c.FiatToken:7:21
\|
7 \| access(all) contract FiatToken: FungibleToken {
\| ^^^^^^^^^

error: missing resource declaration \`MasterMinter\`
--\> 3870b3d38f83ae4c.FiatToken:7:21
\|
7 \| access(all) contract FiatToken: FungibleToken {
\| ^^^^^^^^^

error: missing resource declaration \`MasterMinterExecutor\`
--\> 3870b3d38f83ae4c.FiatToken:7:21
\|
7 \| access(all) contract FiatToken: FungibleToken {
\| ^^^^^^^^^

error: missing resource declaration \`Minter\`
--\> 3870b3d38f83ae4c.FiatToken:7:21
\|
7 \| access(all) contract FiatToken: FungibleToken {
\| ^^^^^^^^^

error: missing resource declaration \`MinterController\`
--\> 3870b3d38f83ae4c.FiatToken:7:21
\|
7 \| access(all) contract FiatToken: FungibleToken {
\| ^^^^^^^^^

error: missing resource declaration \`Owner\`
--\> 3870b3d38f83ae4c.FiatToken:7:21
\|
7 \| access(all) contract FiatToken: FungibleToken {
\| ^^^^^^^^^

error: missing resource declaration \`OwnerExecutor\`
--\> 3870b3d38f83ae4c.FiatToken:7:21
\|
7 \| access(all) contract FiatToken: FungibleToken {
\| ^^^^^^^^^

error: missing resource declaration \`PauseExecutor\`
--\> 3870b3d38f83ae4c.FiatToken:7:21
\|
7 \| access(all) contract FiatToken: FungibleToken {
\| ^^^^^^^^^

error: missing resource declaration \`Pauser\`
--\> 3870b3d38f83ae4c.FiatToken:7:21
\|
7 \| access(all) contract FiatToken: FungibleToken {
\| ^^^^^^^^^
| +| 0x3870b3d38f83ae4c | FlowEVMBridgeHandlerInterfaces | ✅ | +| 0xab2d22248a619d77 | MetadataViews | ❌

Error:
error: missing resource interface declaration \`Resolver\`
--\> ab2d22248a619d77.MetadataViews:15:21
\|
15 \| access(all) contract MetadataViews {
\| ^^^^^^^^^^^^^

error: missing resource interface declaration \`ResolverCollection\`
--\> ab2d22248a619d77.MetadataViews:15:21
\|
15 \| access(all) contract MetadataViews {
\| ^^^^^^^^^^^^^
| +| 0xab2d22248a619d77 | TrmAssetMSV1_0 | ✅ | +| 0xab2d22248a619d77 | TrmAssetMSV2_0 | ✅ | +| 0x8bc9e24c307d249b | LendingConfig | ✅ | +| 0x8bc9e24c307d249b | LendingError | ✅ | +| 0x8bc9e24c307d249b | LendingInterfaces | ✅ | +| 0x97d2f3b55c6a6a75 | LendingPool | ✅ | +| 0x294e44e1ec6993c6 | CapabilityDelegator | ✅ | +| 0x294e44e1ec6993c6 | CapabilityFactory | ✅ | +| 0x294e44e1ec6993c6 | CapabilityFilter | ✅ | +| 0x294e44e1ec6993c6 | FTAllFactory | ✅ | +| 0x294e44e1ec6993c6 | FTBalanceFactory | ✅ | +| 0x294e44e1ec6993c6 | FTProviderFactory | ✅ | +| 0x294e44e1ec6993c6 | FTReceiverBalanceFactory | ✅ | +| 0x294e44e1ec6993c6 | FTReceiverFactory | ✅ | +| 0x294e44e1ec6993c6 | HybridCustody | ✅ | +| 0x294e44e1ec6993c6 | NFTCollectionPublicFactory | ✅ | +| 0x294e44e1ec6993c6 | NFTProviderAndCollectionFactory | ✅ | +| 0x294e44e1ec6993c6 | NFTProviderFactory | ✅ | +| 0xcbdb5a7b89c3c844 | PriceOracle | ✅ | +| 0xc911d6ddfae70ce8 | PriceOracle | ✅ | +| 0xef4cd3d07a7b43ce | IPackNFT | ✅ | +| 0xef4cd3d07a7b43ce | PDS | ✅ | +| 0x31ad40c07a2a9788 | AddressUtils | ✅ | +| 0x31ad40c07a2a9788 | ArrayUtils | ✅ | +| 0x31ad40c07a2a9788 | ScopedFTProviders | ✅ | +| 0x31ad40c07a2a9788 | ScopedNFTProviders | ✅ | +| 0x31ad40c07a2a9788 | StringUtils | ✅ | +| 0x6d692450d591524c | PriceOracle | ✅ | +| 0x547f177b243b4d80 | Market | ✅ | +| 0x547f177b243b4d80 | TopShotMarketV3 | ✅ | +| 0x2ceae959ed1a7e7a | MigrationContractStaging | ✅ | +| 0xe8124d8428980aa6 | Bl0x | ✅ | +| 0x8232ce4a3aff4e94 | PublicPriceOracle | ✅ | +| 0x8770564d92180608 | TrmAssetV2_2 | ✅ | +| 0x8770564d92180608 | TrmMarketV2_2 | ✅ | +| 0x8770564d92180608 | TrmRentV2_2 | ✅ | +| 0x250e0b90c1b7711b | A | ❌

Error:
error: cannot find declaration \`B\` in \`250e0b90c1b7711b.B\`
--\> 250e0b90c1b7711b.A:1:7
\|
1 \| import B from 0x250e0b90c1b7711b
\| ^ available exported declarations are:
\- \`Bad\`

| +| 0x250e0b90c1b7711b | B | ✅ | +| 0x250e0b90c1b7711b | Bar | ✅ | +| 0x250e0b90c1b7711b | F | ✅ | +| 0x250e0b90c1b7711b | Foo | ✅ | +| 0x250e0b90c1b7711b | L | ✅ | +| 0x250e0b90c1b7711b | O | ✅ | +| 0x250e0b90c1b7711b | W | ❌

Error:
error: mismatching field \`foo\` in \`W\`
--\> 250e0b90c1b7711b.W:3:25
\|
3 \| access(all) let foo: String
\| ^^^^^^ incompatible type annotations. expected \`Int\`, found \`String\`
| +| 0xa47a2d3a3b7e9133 | FanTopMarket | ✅ | +| 0xa47a2d3a3b7e9133 | FanTopPermission | ✅ | +| 0xa47a2d3a3b7e9133 | FanTopPermissionV2a | ✅ | +| 0xa47a2d3a3b7e9133 | FanTopSerial | ✅ | +| 0xa47a2d3a3b7e9133 | FanTopToken | ✅ | +| 0xa47a2d3a3b7e9133 | Signature | ✅ | +| 0x58b60c5240d3f39b | PackNFT | ✅ | +| 0x58b60c5240d3f39b | TicalUniverse | ✅ | +| 0x58b60c5240d3f39b | TuneGO | ✅ | +| 0x58b60c5240d3f39b | TuneGONFTV5 | ✅ | +| 0x06f1e5cde6db0e70 | DropFactory | ✅ | +| 0x06f1e5cde6db0e70 | FlowtyAddressVerifiers | ✅ | +| 0x06f1e5cde6db0e70 | FlowtyDrops | ✅ | +| 0x06f1e5cde6db0e70 | FlowtyPricers | ✅ | +| 0x06f1e5cde6db0e70 | FlowtySwitchers | ✅ | +| 0x985d410b577fd4a1 | Gamisodes | ✅ | +| 0x985d410b577fd4a1 | Lufthaus | ✅ | +| 0x985d410b577fd4a1 | MUMGJ | ✅ | +| 0x985d410b577fd4a1 | MintStoreItem | ✅ | +| 0x985d410b577fd4a1 | OpenLockerInc | ✅ | +| 0x985d410b577fd4a1 | OpenLockerIncBoneYardHuskyzClub | ✅ | +| 0x985d410b577fd4a1 | Pickem | ✅ | +| 0x985d410b577fd4a1 | RTLStoreItem | ✅ | +| 0x985d410b577fd4a1 | YBees | ✅ | +| 0x985d410b577fd4a1 | YoungBoysBern | ✅ | +| 0x5d45c655fcde5037 | TicalUniverse | ✅ | +| 0x5d45c655fcde5037 | TuneGO | ✅ | +| 0xc20df20fabe06457 | SwapPair | ✅ | +| 0x8c55fba7d7090fee | Magnetiq | ✅ | +| 0x8c55fba7d7090fee | MagnetiqLocking | ✅ | +| 0x566c813b3632783e | ACCO_SOLEIL | ✅ | +| 0x566c813b3632783e | AIICOSMPLG | ✅ | +| 0x566c813b3632783e | AUGUSTUS1 | ✅ | +| 0x566c813b3632783e | BFD | ✅ | +| 0x566c813b3632783e | BTC | ✅ | +| 0x566c813b3632783e | BYPRODUCT | ✅ | +| 0x566c813b3632783e | DOGETKN | ✅ | +| 0x566c813b3632783e | DUNK | ✅ | +| 0x566c813b3632783e | DWLC | ✅ | +| 0x566c813b3632783e | EBISU | ✅ | +| 0x566c813b3632783e | ECO | ✅ | +| 0x566c813b3632783e | EDGE | ✅ | +| 0x566c813b3632783e | ELEMENT | ✅ | +| 0x566c813b3632783e | ExampleNFT | ✅ | +| 0x566c813b3632783e | H442T04 | ✅ | +| 0x566c813b3632783e | H442T05 | ✅ | +| 0x566c813b3632783e | HowardNFT | ✅ | +| 0x566c813b3632783e | IAT | ✅ | +| 0x566c813b3632783e | JOSHIN | ✅ | +| 0x566c813b3632783e | KOZO | ✅ | +| 0x566c813b3632783e | Karat | ✅ | +| 0x566c813b3632783e | KaratNFT | ✅ | +| 0x566c813b3632783e | Karatv2 | ✅ | +| 0x566c813b3632783e | MARK | ✅ | +| 0x566c813b3632783e | MARKIE | ✅ | +| 0x566c813b3632783e | MARKIE2 | ✅ | +| 0x566c813b3632783e | MARKIE3 | ✅ | +| 0x566c813b3632783e | MEDI | ✅ | +| 0x566c813b3632783e | MEGAMI | ✅ | +| 0x566c813b3632783e | MRFRIENDLY | ✅ | +| 0x566c813b3632783e | SCARETKN | ✅ | +| 0x566c813b3632783e | SNAKE | ✅ | +| 0x566c813b3632783e | SUGOI | ✅ | +| 0x566c813b3632783e | SUNTORY | ✅ | +| 0x566c813b3632783e | Sorachi | ✅ | +| 0x566c813b3632783e | Story | ✅ | +| 0x566c813b3632783e | TNP | ✅ | +| 0x566c813b3632783e | TOM | ✅ | +| 0x566c813b3632783e | TS | ✅ | +| 0x566c813b3632783e | TSTCON | ✅ | +| 0x566c813b3632783e | WE_PIN | ✅ | +| 0x7dc7430a06f38af3 | ZeedzINO | ✅ | +| 0x6d0f55821f6b2dbe | BBxBarbieCard | ✅ | +| 0x6d0f55821f6b2dbe | BBxBarbiePM | ✅ | +| 0x6d0f55821f6b2dbe | BBxBarbiePack | ✅ | +| 0x6d0f55821f6b2dbe | BBxBarbieToken | ✅ | +| 0x8aaca41f09eb1e3d | LendingPool | ✅ | +| 0x8a5f647e58dde1ee | DapperOffersV2 | ✅ | +| 0x8a5f647e58dde1ee | OffersV2 | ✅ | +| 0x8a5f647e58dde1ee | Resolver | ✅ | +| 0xcbed4c301441ded2 | StableSwapFactory | ✅ | +| 0xcbed4c301441ded2 | SwapFactory | ✅ | +| 0xc15e75b5f6b95e54 | LendingComptroller | ✅ | +| 0x74daa6f9c7ef24b1 | FCLCrypto | ✅ | diff --git a/migrations_data/staged-contracts-report-2024-06-19T12-31-00Z-testnet.json b/migrations_data/staged-contracts-report-2024-06-19T12-31-00Z-testnet.json new file mode 100644 index 0000000000..576d6dd222 --- /dev/null +++ b/migrations_data/staged-contracts-report-2024-06-19T12-31-00Z-testnet.json @@ -0,0 +1 @@ +[{"kind":"contract-update-success","account_address":"0x6b7930acbcd12877","contract_name":"Cryptoys"},{"kind":"contract-update-success","account_address":"0x6b7930acbcd12877","contract_name":"CryptoysMetadataView2"},{"kind":"contract-update-success","account_address":"0x4dfd62c88d1b6462","contract_name":"AllDay"},{"kind":"contract-update-failure","account_address":"0x4dfd62c88d1b6462","contract_name":"PackNFT","error":"error: resource `PackNFT.Collection` does not conform to resource interface `IPackNFT.IPackNFTCollectionPublic`\n --\u003e 4dfd62c88d1b6462.PackNFT:299:25\n |\n299 | access(all) resource Collection: NonFungibleToken.Collection,ViewResolver.ResolverCollection, IPackNFT.IPackNFTCollectionPublic {\n | ^ `PackNFT.Collection` is missing definitions for members: `emitRevealRequestEvent`, `emitOpenRequestEvent`\n"},{"kind":"contract-update-success","account_address":"0x6b7930acbcd12877","contract_name":"ICryptoys"},{"kind":"contract-update-success","account_address":"0x34f3140b7f54c743","contract_name":"CricketMoments"},{"kind":"contract-update-success","account_address":"0x34f3140b7f54c743","contract_name":"CricketMomentsShardedCollection"},{"kind":"contract-update-success","account_address":"0x34f3140b7f54c743","contract_name":"FazeUtilityCoin"},{"kind":"contract-update-success","account_address":"0x2d0d952e760d1770","contract_name":"CricketMoments"},{"kind":"contract-update-success","account_address":"0x2d0d952e760d1770","contract_name":"CricketMomentsShardedCollection"},{"kind":"contract-update-success","account_address":"0x2d0d952e760d1770","contract_name":"FazeUtilityCoin"},{"kind":"contract-update-success","account_address":"0x520a7157e1b964ed","contract_name":"ShebaHopeGrows"},{"kind":"contract-update-success","account_address":"0x99ca04281098b33d","contract_name":"Art"},{"kind":"contract-update-success","account_address":"0x99ca04281098b33d","contract_name":"Auction"},{"kind":"contract-update-success","account_address":"0x99ca04281098b33d","contract_name":"Content"},{"kind":"contract-update-success","account_address":"0x99ca04281098b33d","contract_name":"Marketplace"},{"kind":"contract-update-success","account_address":"0x99ca04281098b33d","contract_name":"Profile"},{"kind":"contract-update-success","account_address":"0x99ca04281098b33d","contract_name":"Versus"},{"kind":"contract-update-success","account_address":"0xcc4e949596cf8ced","contract_name":"TwoSegmentsInterestRateModel"},{"kind":"contract-update-success","account_address":"0x24650d6246d4176c","contract_name":"PriceOracle"},{"kind":"contract-update-success","account_address":"0x2299f74679d9c88a","contract_name":"A"},{"kind":"contract-update-success","account_address":"0x8c55fba7d7090fee","contract_name":"Magnetiq"},{"kind":"contract-update-success","account_address":"0x8c55fba7d7090fee","contract_name":"MagnetiqLocking"},{"kind":"contract-update-success","account_address":"0xd704ee8202a0d82d","contract_name":"ExampleNFT"},{"kind":"contract-update-success","account_address":"0x82ec283f88a62e65","contract_name":"DapperUtilityCoin"},{"kind":"contract-update-success","account_address":"0x82ec283f88a62e65","contract_name":"FlowUtilityToken"},{"kind":"contract-update-success","account_address":"0x8aaca41f09eb1e3d","contract_name":"LendingPool"},{"kind":"contract-update-failure","account_address":"0xf28310b45fc6b319","contract_name":"ExampleNFT","error":"error: cannot find type in this scope: `NonFungibleToken.Owner`\n --\u003e f28310b45fc6b319.ExampleNFT:161:43\n |\n161 | access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {\n | ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `NonFungibleToken.Owner`\n --\u003e f28310b45fc6b319.ExampleNFT:183:60\n |\n183 | let authTokenRef = (\u0026self.ownedNFTs[id] as auth(NonFungibleToken.Owner) \u0026{NonFungibleToken.NFT}?)!\n | ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: mismatched types\n --\u003e f28310b45fc6b319.ExampleNFT:185:38\n |\n185 | ExampleNFT.emitNFTUpdated(authTokenRef)\n | ^^^^^^^^^^^^ expected `auth(NonFungibleToken.Update) \u0026{NonFungibleToken.NFT}`, got `auth(NonFungibleToken) \u0026{NonFungibleToken.NFT}`\n\nerror: resource `ExampleNFT.Collection` does not conform to resource interface `NonFungibleToken.Collection`\n --\u003e f28310b45fc6b319.ExampleNFT:134:25\n |\n134 | access(all) resource Collection: NonFungibleToken.Collection, ExampleNFTCollectionPublic {\n | ^\n ... \n |\n137 | access(contract) var ownedNFTs: @{UInt64: {NonFungibleToken.NFT}}\n | --------- mismatch here\n\nerror: resource `ExampleNFT.Collection` does not conform to resource interface `NonFungibleToken.Collection`\n --\u003e f28310b45fc6b319.ExampleNFT:134:25\n |\n134 | access(all) resource Collection: NonFungibleToken.Collection, ExampleNFTCollectionPublic {\n | ^\n ... \n |\n161 | access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {\n | -------- mismatch here\n"},{"kind":"contract-update-success","account_address":"0xe1d43e0cfc237807","contract_name":"Flowty"},{"kind":"contract-update-success","account_address":"0xe1d43e0cfc237807","contract_name":"FlowtyRentals"},{"kind":"contract-update-success","account_address":"0xe1d43e0cfc237807","contract_name":"RoyaltiesLedger"},{"kind":"contract-update-success","account_address":"0xb86f928a1fa7798e","contract_name":"FTViewUtils"},{"kind":"contract-update-success","account_address":"0xb86f928a1fa7798e","contract_name":"TokenList"},{"kind":"contract-update-success","account_address":"0x2dcd833119c0570c","contract_name":"toddnewstaging2_NFT"},{"kind":"contract-update-success","account_address":"0xb86f928a1fa7798e","contract_name":"ViewResolvers"},{"kind":"contract-update-success","account_address":"0x7745157792470296","contract_name":"LendingOracle"},{"kind":"contract-update-success","account_address":"0xa63ecf66edb620ef","contract_name":"ZeedzINO"},{"kind":"contract-update-failure","account_address":"0xd35bad52c7e1ab65","contract_name":"ZeedzINO","error":"error: cannot find type in this scope: `NonFungibleToken.Owner`\n --\u003e d35bad52c7e1ab65.ZeedzINO:207:43\n |\n207 | access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun burn(burnID: UInt64)\n | ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `NonFungibleToken.Owner`\n --\u003e d35bad52c7e1ab65.ZeedzINO:208:43\n |\n208 | access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun redeem(redeemID: UInt64, message: String)\n | ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `NonFungibleToken.Owner`\n --\u003e d35bad52c7e1ab65.ZeedzINO:218:43\n |\n218 | access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {\n | ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `NonFungibleToken.Owner`\n --\u003e d35bad52c7e1ab65.ZeedzINO:224:43\n |\n224 | access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun burn(burnID: UInt64){\n | ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `NonFungibleToken.Owner`\n --\u003e d35bad52c7e1ab65.ZeedzINO:234:43\n |\n234 | access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun redeem(redeemID: UInt64, message: String){\n | ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: resource `ZeedzINO.Collection` does not conform to resource interface `NonFungibleToken.Collection`\n --\u003e d35bad52c7e1ab65.ZeedzINO:214:25\n |\n214 | access(all) resource Collection: NonFungibleToken.Collection, ZeedzCollectionPublic, ZeedzCollectionPrivate {\n | ^\n ... \n |\n218 | access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {\n | -------- mismatch here\n\nerror: resource `ZeedzINO.Collection` does not conform to resource interface `ZeedzINO.ZeedzCollectionPrivate`\n --\u003e d35bad52c7e1ab65.ZeedzINO:214:25\n |\n214 | access(all) resource Collection: NonFungibleToken.Collection, ZeedzCollectionPublic, ZeedzCollectionPrivate {\n | ^\n ... \n |\n224 | access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun burn(burnID: UInt64){\n | ---- mismatch here\n ... \n |\n234 | access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun redeem(redeemID: UInt64, message: String){\n | ------ mismatch here\n"},{"kind":"contract-update-success","account_address":"0x8bc9e24c307d249b","contract_name":"LendingConfig"},{"kind":"contract-update-success","account_address":"0x8bc9e24c307d249b","contract_name":"LendingError"},{"kind":"contract-update-success","account_address":"0x8bc9e24c307d249b","contract_name":"LendingInterfaces"},{"kind":"contract-update-success","account_address":"0x9680721e43087f43","contract_name":"DropTypes"},{"kind":"contract-update-success","account_address":"0x9d96fa5f60093c18","contract_name":"A"},{"kind":"contract-update-success","account_address":"0x9d96fa5f60093c18","contract_name":"B"},{"kind":"contract-update-success","account_address":"0x7dc7430a06f38af3","contract_name":"ZeedzINO"},{"kind":"contract-update-success","account_address":"0x94b06cfca1d8a476","contract_name":"NFTStorefront"},{"kind":"contract-update-success","account_address":"0xb668e8c9726ef26b","contract_name":"FanTopMarket"},{"kind":"contract-update-success","account_address":"0xb668e8c9726ef26b","contract_name":"FanTopPermission"},{"kind":"contract-update-success","account_address":"0xb668e8c9726ef26b","contract_name":"FanTopPermissionV2a"},{"kind":"contract-update-success","account_address":"0xb668e8c9726ef26b","contract_name":"FanTopSerial"},{"kind":"contract-update-success","account_address":"0xb668e8c9726ef26b","contract_name":"FanTopToken"},{"kind":"contract-update-success","account_address":"0xb668e8c9726ef26b","contract_name":"Signature"},{"kind":"contract-update-success","account_address":"0xcbed4c301441ded2","contract_name":"StableSwapFactory"},{"kind":"contract-update-success","account_address":"0xcbed4c301441ded2","contract_name":"SwapFactory"},{"kind":"contract-update-success","account_address":"0x8d5aac1da9c370bc","contract_name":"A"},{"kind":"contract-update-success","account_address":"0x8d5aac1da9c370bc","contract_name":"B"},{"kind":"contract-update-success","account_address":"0x8d5aac1da9c370bc","contract_name":"Contract"},{"kind":"contract-update-success","account_address":"0x31ad40c07a2a9788","contract_name":"AddressUtils"},{"kind":"contract-update-success","account_address":"0x31ad40c07a2a9788","contract_name":"ArrayUtils"},{"kind":"contract-update-success","account_address":"0x31ad40c07a2a9788","contract_name":"ScopedFTProviders"},{"kind":"contract-update-success","account_address":"0x31ad40c07a2a9788","contract_name":"ScopedNFTProviders"},{"kind":"contract-update-success","account_address":"0x31ad40c07a2a9788","contract_name":"StringUtils"},{"kind":"contract-update-success","account_address":"0x2f8af5ed05bbde0d","contract_name":"SwapRouter"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"ETHUtils"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"EVMAgent"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FGameLottery"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FGameLotteryFactory"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FGameLotteryRegistry"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FGameRugRoyale"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20AccountsPool"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20Agents"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20Converter"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20FTShared"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20FungibleToken"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20Indexer"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20MarketManager"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20Marketplace"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20NFTWrapper"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20SemiNFT"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20Staking"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20StakingForwarder"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20StakingManager"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20StakingVesting"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20Storefront"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20TradingRecord"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20VoteCommands"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FRC20Votes"},{"kind":"contract-update-success","account_address":"0xc15e75b5f6b95e54","contract_name":"LendingComptroller"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"Fixes"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FixesAssetMeta"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FixesAvatar"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FixesBondingCurve"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FixesFungibleToken"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FixesFungibleTokenInterface"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FixesHeartbeat"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FixesInscriptionFactory"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FixesTokenAirDrops"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FixesTokenLockDrops"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FixesTradablePool"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FixesTraits"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FixesWrappedNFT"},{"kind":"contract-update-success","account_address":"0x74ad08095d92192a","contract_name":"FungibleTokenManager"},{"kind":"contract-update-success","account_address":"0x92362a384f409a52","contract_name":"TrmAssetV2_2"},{"kind":"contract-update-success","account_address":"0x92362a384f409a52","contract_name":"TrmMarketV2_2"},{"kind":"contract-update-success","account_address":"0x92362a384f409a52","contract_name":"TrmRentV2_2"},{"kind":"contract-update-success","account_address":"0x547f177b243b4d80","contract_name":"Market"},{"kind":"contract-update-success","account_address":"0x547f177b243b4d80","contract_name":"TopShotMarketV3"},{"kind":"contract-update-success","account_address":"0x8770564d92180608","contract_name":"TrmAssetV2_2"},{"kind":"contract-update-success","account_address":"0x8770564d92180608","contract_name":"TrmMarketV2_2"},{"kind":"contract-update-success","account_address":"0x8770564d92180608","contract_name":"TrmRentV2_2"},{"kind":"contract-update-success","account_address":"0x723a1b50e1d67e8e","contract_name":"TuneGONFT"},{"kind":"contract-update-success","account_address":"0xdad0aaa285a25413","contract_name":"PriceOracle"},{"kind":"contract-update-success","account_address":"0x8a5f647e58dde1ee","contract_name":"DapperOffersV2"},{"kind":"contract-update-success","account_address":"0x8a5f647e58dde1ee","contract_name":"OffersV2"},{"kind":"contract-update-success","account_address":"0x8a5f647e58dde1ee","contract_name":"Resolver"},{"kind":"contract-update-success","account_address":"0xcbdb5a7b89c3c844","contract_name":"PriceOracle"},{"kind":"contract-update-failure","account_address":"0x877931736ee77cff","contract_name":"PackNFT","error":"error: resource `PackNFT.Collection` does not conform to resource interface `IPackNFT.IPackNFTCollectionPublic`\n --\u003e 877931736ee77cff.PackNFT:299:25\n |\n299 | access(all) resource Collection: NonFungibleToken.Collection, IPackNFT.IPackNFTCollectionPublic, ViewResolver.ResolverCollection {\n | ^ `PackNFT.Collection` is missing definitions for members: `emitRevealRequestEvent`, `emitOpenRequestEvent`\n"},{"kind":"contract-update-success","account_address":"0x877931736ee77cff","contract_name":"TopShot"},{"kind":"contract-update-success","account_address":"0x877931736ee77cff","contract_name":"TopShotLocking"},{"kind":"contract-update-success","account_address":"0x2bd8210db3a8fe8a","contract_name":"NFTLocking"},{"kind":"contract-update-success","account_address":"0x2bd8210db3a8fe8a","contract_name":"Swap"},{"kind":"contract-update-success","account_address":"0x2bd8210db3a8fe8a","contract_name":"SwapArchive"},{"kind":"contract-update-success","account_address":"0x2bd8210db3a8fe8a","contract_name":"SwapStats"},{"kind":"contract-update-success","account_address":"0x2bd8210db3a8fe8a","contract_name":"SwapStatsRegistry"},{"kind":"contract-update-success","account_address":"0x2bd8210db3a8fe8a","contract_name":"Utils"},{"kind":"contract-update-failure","account_address":"0x8b47f4dd22afee8d","contract_name":"MetadataViews","error":"error: missing resource interface declaration `Resolver`\n --\u003e 8b47f4dd22afee8d.MetadataViews:15:21\n |\n15 | access(all) contract MetadataViews {\n | ^^^^^^^^^^^^^\n\nerror: missing resource interface declaration `ResolverCollection`\n --\u003e 8b47f4dd22afee8d.MetadataViews:15:21\n |\n15 | access(all) contract MetadataViews {\n | ^^^^^^^^^^^^^\n"},{"kind":"contract-update-success","account_address":"0x8b47f4dd22afee8d","contract_name":"TrmAssetMSV1_0"},{"kind":"contract-update-success","account_address":"0xbe4635353f55bbd4","contract_name":"FeeEstimator"},{"kind":"contract-update-success","account_address":"0xbe4635353f55bbd4","contract_name":"LostAndFound"},{"kind":"contract-update-success","account_address":"0xbe4635353f55bbd4","contract_name":"LostAndFoundHelper"},{"kind":"contract-update-failure","account_address":"0xab2d22248a619d77","contract_name":"MetadataViews","error":"error: missing resource interface declaration `Resolver`\n --\u003e ab2d22248a619d77.MetadataViews:15:21\n |\n15 | access(all) contract MetadataViews {\n | ^^^^^^^^^^^^^\n\nerror: missing resource interface declaration `ResolverCollection`\n --\u003e ab2d22248a619d77.MetadataViews:15:21\n |\n15 | access(all) contract MetadataViews {\n | ^^^^^^^^^^^^^\n"},{"kind":"contract-update-success","account_address":"0xab2d22248a619d77","contract_name":"TrmAssetMSV1_0"},{"kind":"contract-update-success","account_address":"0xab2d22248a619d77","contract_name":"TrmAssetMSV2_0"},{"kind":"contract-update-failure","account_address":"0x3870b3d38f83ae4c","contract_name":"FiatToken","error":"error: missing resource declaration `Admin`\n --\u003e 3870b3d38f83ae4c.FiatToken:7:21\n |\n7 | access(all) contract FiatToken: FungibleToken {\n | ^^^^^^^^^\n\nerror: missing resource declaration `AdminExecutor`\n --\u003e 3870b3d38f83ae4c.FiatToken:7:21\n |\n7 | access(all) contract FiatToken: FungibleToken {\n | ^^^^^^^^^\n\nerror: missing resource declaration `BlocklistExecutor`\n --\u003e 3870b3d38f83ae4c.FiatToken:7:21\n |\n7 | access(all) contract FiatToken: FungibleToken {\n | ^^^^^^^^^\n\nerror: missing resource declaration `Blocklister`\n --\u003e 3870b3d38f83ae4c.FiatToken:7:21\n |\n7 | access(all) contract FiatToken: FungibleToken {\n | ^^^^^^^^^\n\nerror: missing resource declaration `MasterMinter`\n --\u003e 3870b3d38f83ae4c.FiatToken:7:21\n |\n7 | access(all) contract FiatToken: FungibleToken {\n | ^^^^^^^^^\n\nerror: missing resource declaration `MasterMinterExecutor`\n --\u003e 3870b3d38f83ae4c.FiatToken:7:21\n |\n7 | access(all) contract FiatToken: FungibleToken {\n | ^^^^^^^^^\n\nerror: missing resource declaration `Minter`\n --\u003e 3870b3d38f83ae4c.FiatToken:7:21\n |\n7 | access(all) contract FiatToken: FungibleToken {\n | ^^^^^^^^^\n\nerror: missing resource declaration `MinterController`\n --\u003e 3870b3d38f83ae4c.FiatToken:7:21\n |\n7 | access(all) contract FiatToken: FungibleToken {\n | ^^^^^^^^^\n\nerror: missing resource declaration `Owner`\n --\u003e 3870b3d38f83ae4c.FiatToken:7:21\n |\n7 | access(all) contract FiatToken: FungibleToken {\n | ^^^^^^^^^\n\nerror: missing resource declaration `OwnerExecutor`\n --\u003e 3870b3d38f83ae4c.FiatToken:7:21\n |\n7 | access(all) contract FiatToken: FungibleToken {\n | ^^^^^^^^^\n\nerror: missing resource declaration `PauseExecutor`\n --\u003e 3870b3d38f83ae4c.FiatToken:7:21\n |\n7 | access(all) contract FiatToken: FungibleToken {\n | ^^^^^^^^^\n\nerror: missing resource declaration `Pauser`\n --\u003e 3870b3d38f83ae4c.FiatToken:7:21\n |\n7 | access(all) contract FiatToken: FungibleToken {\n | ^^^^^^^^^\n"},{"kind":"contract-update-success","account_address":"0x3870b3d38f83ae4c","contract_name":"FlowEVMBridgeHandlerInterfaces"},{"kind":"contract-update-success","account_address":"0x6f6702697b205c18","contract_name":"HWGarageCard"},{"kind":"contract-update-success","account_address":"0x6f6702697b205c18","contract_name":"HWGarageCardV2"},{"kind":"contract-update-success","account_address":"0x6f6702697b205c18","contract_name":"HWGaragePM"},{"kind":"contract-update-success","account_address":"0x6f6702697b205c18","contract_name":"HWGaragePMV2"},{"kind":"contract-update-success","account_address":"0x6f6702697b205c18","contract_name":"HWGaragePack"},{"kind":"contract-update-success","account_address":"0x6f6702697b205c18","contract_name":"HWGaragePackV2"},{"kind":"contract-update-success","account_address":"0x6f6702697b205c18","contract_name":"HWGarageTokenV2"},{"kind":"contract-update-success","account_address":"0x4ed4b8e5cd0dd15e","contract_name":"PackNFT"},{"kind":"contract-update-success","account_address":"0xe3faea00c5bb8d7d","contract_name":"TrmAssetV2_2"},{"kind":"contract-update-success","account_address":"0xe3faea00c5bb8d7d","contract_name":"TrmMarketV2_2"},{"kind":"contract-update-success","account_address":"0xe3faea00c5bb8d7d","contract_name":"TrmRentV2_2"},{"kind":"contract-update-success","account_address":"0x3b220a3372190656","contract_name":"PriceOracle"},{"kind":"contract-update-failure","account_address":"0x9392a4a7c3f49a0b","contract_name":"DummyDustTokenMinter","error":"error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.DummyDustTokenMinter:8:23\n |\n8 | \tresource DummyMinter: Toucans.Minter{ \n | \t ^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.DummyDustTokenMinter:10:29\n |\n10 | \t\tfun mint(amount: UFix64): @FlovatarDustToken.Vault{ \n | \t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find variable in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.DummyDustTokenMinter:11:12\n |\n11 | \t\t\treturn \u003c-FlovatarDustToken.createEmptyDustVault()\n | \t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n"},{"kind":"contract-update-failure","account_address":"0x9392a4a7c3f49a0b","contract_name":"Flobot","error":"error: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:31\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:25\n\n--\u003e 9392a4a7c3f49a0b.FlovatarPack\n"},{"kind":"contract-update-failure","account_address":"0x9392a4a7c3f49a0b","contract_name":"Flovatar","error":"error: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:31\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:25\n\n--\u003e 9392a4a7c3f49a0b.FlovatarPack\n\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarPack`\n --\u003e 9392a4a7c3f49a0b.Flovatar:1435:144\n |\n1435 | \t\tfun createPack(components: @[FlovatarComponent.NFT], randomString: String, price: UFix64, sparkCount: UInt32, series: UInt32, name: String): @FlovatarPack.Pack{ \n | \t\t ^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:365:27\n |\n365 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:365:21\n |\n365 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:397:27\n |\n397 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:397:21\n |\n397 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:417:27\n |\n417 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:417:21\n |\n417 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:434:27\n |\n434 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:434:21\n |\n434 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:458:27\n |\n458 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:458:21\n |\n458 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find variable in this scope: `FlovatarPack`\n --\u003e 9392a4a7c3f49a0b.Flovatar:1436:12\n |\n1436 | \t\t\treturn \u003c-FlovatarPack.createPack(components: \u003c-components, randomString: randomString, price: price, sparkCount: sparkCount, series: series, name: name)\n | \t\t\t ^^^^^^^^^^^^ not found in this scope\n"},{"kind":"contract-update-success","account_address":"0x9392a4a7c3f49a0b","contract_name":"FlovatarComponent"},{"kind":"contract-update-success","account_address":"0x9392a4a7c3f49a0b","contract_name":"FlovatarComponentTemplate"},{"kind":"contract-update-failure","account_address":"0x9392a4a7c3f49a0b","contract_name":"FlovatarComponentUpgrader","error":"error: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:31\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:25\n\n--\u003e 9392a4a7c3f49a0b.FlovatarPack\n\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: error getting program 9392a4a7c3f49a0b.FlovatarInbox: failed to derive value: load program failed: Checking failed:\nerror: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:31\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:25\n\n--\u003e 9392a4a7c3f49a0b.FlovatarPack\n\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: error getting program 9392a4a7c3f49a0b.Flovatar: failed to derive value: load program failed: Checking failed:\nerror: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:31\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:25\n\n--\u003e 9392a4a7c3f49a0b.FlovatarPack\n\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarPack`\n --\u003e 9392a4a7c3f49a0b.Flovatar:1435:144\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:365:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:365:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:397:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:397:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:417:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:417:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:434:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:434:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:458:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:458:21\n\nerror: cannot find variable in this scope: `FlovatarPack`\n --\u003e 9392a4a7c3f49a0b.Flovatar:1436:12\n\n--\u003e 9392a4a7c3f49a0b.Flovatar\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:122:18\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:37:22\n\nerror: cannot find variable in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:643:25\n\nerror: cannot find variable in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:390:21\n\nerror: cannot find variable in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:453:21\n\nerror: cannot find variable in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:455:83\n\nerror: cannot find variable in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:478:6\n\nerror: cannot find variable in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:500:3\n\nerror: cannot find variable in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:542:83\n\nerror: cannot find variable in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:578:83\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:601:26\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:601:20\n\nerror: cannot find variable in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:132:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:235:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:235:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:246:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:246:21\n\n--\u003e 9392a4a7c3f49a0b.FlovatarInbox\n\nerror: error getting program 9392a4a7c3f49a0b.Flovatar: failed to derive value: load program failed: Checking failed:\nerror: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:31\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:25\n\n--\u003e 9392a4a7c3f49a0b.FlovatarPack\n\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarPack`\n --\u003e 9392a4a7c3f49a0b.Flovatar:1435:144\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:365:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:365:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:397:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:397:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:417:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:417:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:434:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:434:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:458:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:458:21\n\nerror: cannot find variable in this scope: `FlovatarPack`\n --\u003e 9392a4a7c3f49a0b.Flovatar:1436:12\n\n--\u003e 9392a4a7c3f49a0b.Flovatar\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarComponentUpgrader:202:26\n |\n202 | \t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarComponentUpgrader:202:20\n |\n202 | \t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find type in this scope: `FlovatarInbox`\n --\u003e 9392a4a7c3f49a0b.FlovatarComponentUpgrader:258:65\n |\n258 | \t\t\t\tself.account.storage.borrow\u003cauth(NonFungibleToken.Withdraw) \u0026FlovatarInbox.Collection\u003e(\n | \t\t\t\t ^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find variable in this scope: `FlovatarInbox`\n --\u003e 9392a4a7c3f49a0b.FlovatarComponentUpgrader:259:11\n |\n259 | \t\t\t\t\tfrom: FlovatarInbox.CollectionStoragePath\n | \t\t\t\t\t ^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarComponentUpgrader:258:4\n |\n258 | \t\t\t\tself.account.storage.borrow\u003cauth(NonFungibleToken.Withdraw) \u0026FlovatarInbox.Collection\u003e(\n259 | \t\t\t\t\tfrom: FlovatarInbox.CollectionStoragePath\n260 | \t\t\t\t){ \n | \t\t\t\t^\n"},{"kind":"contract-update-success","account_address":"0x6c35f966375845a6","contract_name":"TixologiTickets"},{"kind":"contract-update-failure","account_address":"0x9392a4a7c3f49a0b","contract_name":"FlovatarDustCollectible","error":"error: error getting program 9392a4a7c3f49a0b.FlovatarDustCollectibleAccessory: failed to derive value: load program failed: Checking failed:\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectibleAccessory:562:26\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectibleAccessory:562:20\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustCollectibleAccessory\n\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarDustCollectibleAccessory`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:193:46\n |\n193 | \t\tfun setAccessory(layer: UInt32, accessory: @FlovatarDustCollectibleAccessory.NFT): @FlovatarDustCollectibleAccessory.NFT?\n | \t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FlovatarDustCollectibleAccessory`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:193:86\n |\n193 | \t\tfun setAccessory(layer: UInt32, accessory: @FlovatarDustCollectibleAccessory.NFT): @FlovatarDustCollectibleAccessory.NFT?\n | \t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FlovatarDustCollectibleAccessory`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:196:39\n |\n196 | \t\tfun removeAccessory(layer: UInt32): @FlovatarDustCollectibleAccessory.NFT?\n | \t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FlovatarDustCollectibleAccessory`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:242:29\n |\n242 | \t\tlet accessories: @{UInt32: FlovatarDustCollectibleAccessory.NFT}\n | \t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FlovatarDustCollectibleAccessory`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:400:46\n |\n400 | \t\tfun setAccessory(layer: UInt32, accessory: @FlovatarDustCollectibleAccessory.NFT): @FlovatarDustCollectibleAccessory.NFT?{ \n | \t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FlovatarDustCollectibleAccessory`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:400:86\n |\n400 | \t\tfun setAccessory(layer: UInt32, accessory: @FlovatarDustCollectibleAccessory.NFT): @FlovatarDustCollectibleAccessory.NFT?{ \n | \t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FlovatarDustCollectibleAccessory`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:415:39\n |\n415 | \t\tfun removeAccessory(layer: UInt32): @FlovatarDustCollectibleAccessory.NFT?{ \n | \t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FlovatarDustCollectibleAccessory`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:1068:46\n |\n1068 | \t\tfun createCollectible(templateId: UInt64): @FlovatarDustCollectibleAccessory.NFT{ \n | \t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FlovatarDustCollectibleAccessory`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:1074:70\n |\n1074 | \t\tfun batchCreateCollectibles(templateId: UInt64, quantity: UInt64): @FlovatarDustCollectibleAccessory.Collection{ \n | \t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:930:26\n |\n930 | \t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:930:20\n |\n930 | \t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:311:27\n |\n311 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:311:21\n |\n311 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:343:27\n |\n343 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:343:21\n |\n343 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:370:27\n |\n370 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:370:21\n |\n370 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find variable in this scope: `FlovatarDustCollectibleAccessory`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:1069:12\n |\n1069 | \t\t\treturn \u003c-FlovatarDustCollectibleAccessory.createCollectibleAccessoryInternal(templateId: templateId)\n | \t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find variable in this scope: `FlovatarDustCollectibleAccessory`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectible:1075:12\n |\n1075 | \t\t\treturn \u003c-FlovatarDustCollectibleAccessory.batchCreateCollectibleAccessory(templateId: templateId, quantity: quantity)\n | \t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n"},{"kind":"contract-update-failure","account_address":"0x9392a4a7c3f49a0b","contract_name":"FlovatarDustCollectibleAccessory","error":"error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectibleAccessory:562:26\n |\n562 | \t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustCollectibleAccessory:562:20\n |\n562 | \t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n"},{"kind":"contract-update-success","account_address":"0x9392a4a7c3f49a0b","contract_name":"FlovatarDustCollectibleTemplate"},{"kind":"contract-update-failure","account_address":"0x9392a4a7c3f49a0b","contract_name":"FlovatarDustToken","error":"error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n |\n286 | \tresource Minter: Toucans.Minter{ \n | \t ^^^^^^^ not found in this scope\n"},{"kind":"contract-update-failure","account_address":"0x9392a4a7c3f49a0b","contract_name":"FlovatarInbox","error":"error: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:31\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:25\n\n--\u003e 9392a4a7c3f49a0b.FlovatarPack\n\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: error getting program 9392a4a7c3f49a0b.Flovatar: failed to derive value: load program failed: Checking failed:\nerror: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:31\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:25\n\n--\u003e 9392a4a7c3f49a0b.FlovatarPack\n\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarPack`\n --\u003e 9392a4a7c3f49a0b.Flovatar:1435:144\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:365:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:365:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:397:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:397:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:417:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:417:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:434:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:434:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:458:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:458:21\n\nerror: cannot find variable in this scope: `FlovatarPack`\n --\u003e 9392a4a7c3f49a0b.Flovatar:1436:12\n\n--\u003e 9392a4a7c3f49a0b.Flovatar\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:122:18\n |\n122 | \t\tlet dustVault: @FlovatarDustToken.Vault\n | \t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:37:22\n |\n37 | \tlet communityVault: @FlovatarDustToken.Vault\n | \t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find variable in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:643:25\n |\n643 | \t\tself.communityVault \u003c- FlovatarDustToken.createEmptyDustVault()\n | \t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find variable in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:390:21\n |\n390 | \t\t\tif let flovatar = Flovatar.getFlovatar(address: address, flovatarId: id){ \n | \t\t\t ^^^^^^^^ not found in this scope\n\nerror: cannot find variable in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:453:21\n |\n453 | \t\t\tif let flovatar = Flovatar.getFlovatar(address: address, flovatarId: id){ \n | \t\t\t ^^^^^^^^ not found in this scope\n\nerror: cannot find variable in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:455:83\n |\n455 | \t\t\t\tlet receiverRef = (receiverAccount.capabilities.get\u003c\u0026{FungibleToken.Receiver}\u003e(FlovatarDustToken.VaultReceiverPath)!).borrow() ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n | \t\t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find variable in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:478:6\n |\n478 | \t\t\t\t\t\tFlovatarDustToken.VaultReceiverPath\n | \t\t\t\t\t\t^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find variable in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:500:3\n |\n500 | \t\t\tFlovatar.getFlovatarRarityScore(address: address, flovatarId: id){ \n | \t\t\t^^^^^^^^ not found in this scope\n\nerror: cannot find variable in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:542:83\n |\n542 | \t\t\t\tlet receiverRef = (receiverAccount.capabilities.get\u003c\u0026{FungibleToken.Receiver}\u003e(FlovatarDustToken.VaultReceiverPath)!).borrow() ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n | \t\t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find variable in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:578:83\n |\n578 | \t\t\t\tlet receiverRef = (receiverAccount.capabilities.get\u003c\u0026{FungibleToken.Receiver}\u003e(FlovatarDustToken.VaultReceiverPath)!).borrow() ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n | \t\t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:601:26\n |\n601 | \t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:601:20\n |\n601 | \t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find variable in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:132:21\n |\n132 | \t\t\tself.dustVault \u003c- FlovatarDustToken.createEmptyDustVault()\n | \t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:235:27\n |\n235 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:235:21\n |\n235 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:246:27\n |\n246 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarInbox:246:21\n |\n246 | \t\t\t\tvault.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n"},{"kind":"contract-update-failure","account_address":"0x9392a4a7c3f49a0b","contract_name":"FlovatarMarketplace","error":"error: error getting program 9392a4a7c3f49a0b.Flovatar: failed to derive value: load program failed: Checking failed:\nerror: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:31\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:25\n\n--\u003e 9392a4a7c3f49a0b.FlovatarPack\n\nerror: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarPack`\n --\u003e 9392a4a7c3f49a0b.Flovatar:1435:144\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:365:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:365:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:397:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:397:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:417:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:417:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:434:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:434:21\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.Flovatar:458:27\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.Flovatar:458:21\n\nerror: cannot find variable in this scope: `FlovatarPack`\n --\u003e 9392a4a7c3f49a0b.Flovatar:1436:12\n\n--\u003e 9392a4a7c3f49a0b.Flovatar\n\nerror: cannot find type in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:66:30\n |\n66 | \t\t\trecipientCap: Capability\u003c\u0026{Flovatar.CollectionPublic}\u003e,\n | \t\t\t ^^^^^^^^ not found in this scope\n\nerror: ambiguous intersection type\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:66:29\n |\n66 | \t\t\trecipientCap: Capability\u003c\u0026{Flovatar.CollectionPublic}\u003e,\n | \t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find type in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:90:38\n |\n90 | \t\tfun getFlovatar(tokenId: UInt64): \u0026{Flovatar.Public}?\n | \t\t ^^^^^^^^ not found in this scope\n\nerror: ambiguous intersection type\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:90:37\n |\n90 | \t\tfun getFlovatar(tokenId: UInt64): \u0026{Flovatar.Public}?\n | \t\t ^^^^^^^^^^^^^^^^^\n\nerror: cannot find type in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:103:33\n |\n103 | \t\tlet flovatarForSale: @{UInt64: Flovatar.NFT}\n | \t\t ^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:131:42\n |\n131 | \t\tfun withdrawFlovatar(tokenId: UInt64): @Flovatar.NFT{ \n | \t\t ^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:155:34\n |\n155 | \t\tfun listFlovatarForSale(token: @Flovatar.NFT, price: UFix64){ \n | \t\t ^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:202:67\n |\n202 | \t\tfun purchaseFlovatar(tokenId: UInt64, recipientCap: Capability\u003c\u0026{Flovatar.CollectionPublic}\u003e, buyTokens: @{FungibleToken.Vault}){ \n | \t\t ^^^^^^^^ not found in this scope\n\nerror: ambiguous intersection type\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:202:66\n |\n202 | \t\tfun purchaseFlovatar(tokenId: UInt64, recipientCap: Capability\u003c\u0026{Flovatar.CollectionPublic}\u003e, buyTokens: @{FungibleToken.Vault}){ \n | \t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find type in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:296:38\n |\n296 | \t\tfun getFlovatar(tokenId: UInt64): \u0026{Flovatar.Public}?{ \n | \t\t ^^^^^^^^ not found in this scope\n\nerror: ambiguous intersection type\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:296:37\n |\n296 | \t\tfun getFlovatar(tokenId: UInt64): \u0026{Flovatar.Public}?{ \n | \t\t ^^^^^^^^^^^^^^^^^\n\nerror: cannot find type in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:346:13\n |\n346 | \t\t\tmetadata: Flovatar.Metadata,\n | \t\t\t ^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:329:16\n |\n329 | \t\tlet metadata: Flovatar.Metadata\n | \t\t ^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:216:30\n |\n216 | \t\t\tif !token.isInstance(Type\u003c@Flovatar.NFT\u003e()){ \n | \t\t\t ^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:216:24\n |\n216 | \t\t\tif !token.isInstance(Type\u003c@Flovatar.NFT\u003e()){ \n | \t\t\t ^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find variable in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:221:31\n |\n221 | \t\t\tlet creatorAmount = price * Flovatar.getRoyaltyCut()\n | \t\t\t ^^^^^^^^ not found in this scope\n\nerror: cannot find variable in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:225:35\n |\n225 | \t\t\tlet marketplaceAmount = price * Flovatar.getMarketplaceCut()\n | \t\t\t ^^^^^^^^ not found in this scope\n\nerror: cannot find variable in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:257:35\n |\n257 | \t\t\tlet marketplaceAmount = price * Flovatar.getMarketplaceCut()\n | \t\t\t ^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:298:50\n |\n298 | \t\t\t\tlet ref = (\u0026self.flovatarForSale[tokenId] as \u0026Flovatar.NFT?)!\n | \t\t\t\t ^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `Flovatar`\n --\u003e 9392a4a7c3f49a0b.FlovatarMarketplace:299:20\n |\n299 | \t\t\t\treturn ref as! \u0026Flovatar.NFT\n | \t\t\t\t ^^^^^^^^ not found in this scope\n"},{"kind":"contract-update-failure","account_address":"0x9392a4a7c3f49a0b","contract_name":"FlovatarPack","error":"error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:\nerror: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:0\n |\n14 | pub contract Toucans {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :16:2\n |\n16 | pub let CollectionStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :17:2\n |\n17 | pub let CollectionPublicPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:2\n |\n19 | pub resource interface Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :20:4\n |\n20 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :27:2\n |\n27 | pub resource DummyMinter: Minter {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub fun mint(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :33:2\n |\n33 | pub event ProjectCreated(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :39:2\n |\n39 | pub event NewFundingCycle(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:2\n |\n49 | pub event Purchase(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:2\n |\n59 | pub event Donate(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:2\n |\n69 | pub event DonateNFT(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:2\n |\n82 | pub event Withdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:2\n |\n90 | pub event BatchWithdraw(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:2\n |\n99 | pub event WithdrawNFTs(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:2\n |\n109 | pub event Mint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:2\n |\n117 | pub event BatchMint(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:2\n |\n126 | pub event Burn(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:2\n |\n133 | pub event LockTokens(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:2\n |\n142 | pub event StakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :148:2\n |\n148 | pub event UnstakeFlow(\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :154:2\n |\n154 | pub event AddSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :155:2\n |\n155 | pub event RemoveSigner(projectId: String, signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :156:2\n |\n156 | pub event UpdateThreshold(projectId: String, newThreshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :158:2\n |\n158 | pub struct CycleTimeFrame {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :159:4\n |\n159 | pub let startTime: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :160:4\n |\n160 | pub let endTime: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :171:2\n |\n171 | pub struct Payout {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :172:4\n |\n172 | pub let address: Address\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :173:4\n |\n173 | pub let percent: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :184:2\n |\n184 | pub struct FundingCycleDetails {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :185:4\n |\n185 | pub let cycleId: UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :187:4\n |\n187 | pub let fundingTarget: UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :188:4\n |\n188 | pub let issuanceRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :190:4\n |\n190 | pub let reserveRate: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :191:4\n |\n191 | pub let timeframe: CycleTimeFrame\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:4\n |\n192 | pub let payouts: [Payout]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :193:4\n |\n193 | pub let allowOverflow: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:4\n |\n194 | pub let allowedAddresses: [Address]?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :195:4\n |\n195 | pub let catalogCollectionIdentifier: String?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :196:4\n |\n196 | pub let extra: {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :221:2\n |\n221 | pub struct FundingCycle {\n | ^^^\n\nerror: `pub(set)` is no longer a valid access keyword\n --\u003e :222:4\n |\n222 | pub(set) var details: FundingCycleDetails\n | ^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :226:4\n |\n226 | pub var projectTokensAcquired: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :230:4\n |\n230 | pub var raisedDuringRound: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :233:4\n |\n233 | pub var raisedTowardsGoal: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :234:4\n |\n234 | pub let funders: {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :258:2\n |\n258 | pub resource interface ProjectPublic {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :259:4\n |\n259 | pub let projectId: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :260:4\n |\n260 | pub var projectTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :261:4\n |\n261 | pub let paymentTokenInfo: ToucansTokens.TokenInfo\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :262:4\n |\n262 | pub var totalFunding: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :263:4\n |\n263 | pub var editDelay: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :264:4\n |\n264 | pub var purchasing: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :265:4\n |\n265 | pub let minting: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :269:4\n |\n269 | pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :270:4\n |\n270 | pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :271:4\n |\n271 | pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability\u003c\u0026{NonFungibleToken.Receiver}\u003e, nftIDs: [UInt64], message: String, _ recipientCollectionBackup: Capability\u003c\u0026{NonFungibleToken.CollectionPublic}\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :272:4\n |\n272 | pub fun proposeMint(recipientVault: Capability\u003c\u0026{FungibleToken.Receiver}\u003e, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :273:4\n |\n273 | pub fun proposeBatchMint(recipientVaults: {Address: Capability\u003c\u0026{FungibleToken.Receiver}\u003e}, amounts: {Address: UFix64})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :274:4\n |\n274 | pub fun proposeMintToTreasury(amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :275:4\n |\n275 | pub fun proposeBurn(tokenType: Type, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :276:4\n |\n276 | pub fun proposeAddSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :277:4\n |\n277 | pub fun proposeRemoveSigner(signer: Address)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :278:4\n |\n278 | pub fun proposeUpdateThreshold(threshold: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :279:4\n |\n279 | pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :280:4\n |\n280 | pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :281:4\n |\n281 | pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :284:4\n |\n284 | pub fun finalizeAction(actionUUID: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :285:4\n |\n285 | pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :286:4\n |\n286 | pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :287:4\n |\n287 | pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :288:4\n |\n288 | pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: \u0026{FungibleToken.Receiver}, message: String)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :289:4\n |\n289 | pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :290:4\n |\n290 | pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: \u0026{FungibleToken.Receiver})\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :293:4\n |\n293 | pub fun getCurrentIssuanceRate(): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :294:4\n |\n294 | pub fun getCurrentFundingCycle(): FundingCycle?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :295:4\n |\n295 | pub fun getCurrentFundingCycleId(): UInt64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :296:4\n |\n296 | pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :297:4\n |\n297 | pub fun getFundingCycles(): [FundingCycle]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :298:4\n |\n298 | pub fun getVaultTypesInTreasury(): [Type]\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :299:4\n |\n299 | pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :300:4\n |\n300 | pub fun getExtra(): {String: AnyStruct}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :301:4\n |\n301 | pub fun getCompletedActionIds(): {UInt64: Bool}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :302:4\n |\n302 | pub fun getFunders(): {Address: UFix64}\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :303:4\n |\n303 | pub fun getOverflowBalance(): UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :304:4\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :304:44\n |\n304 | pub fun borrowManagerPublic(): \u0026Manager{ManagerPublic}\n | ^^^^^^^^^^^^^\n\n--\u003e 918c2008c16da416.Toucans\n\nerror: cannot find type in this scope: `Toucans`\n --\u003e 9392a4a7c3f49a0b.FlovatarDustToken:286:18\n\n--\u003e 9392a4a7c3f49a0b.FlovatarDustToken\n\nerror: cannot find type in this scope: `FlovatarDustToken`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:31\n |\n415 | \t\t\t\tbuyTokens.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e 9392a4a7c3f49a0b.FlovatarPack:415:25\n |\n415 | \t\t\t\tbuyTokens.isInstance(Type\u003c@FlovatarDustToken.Vault\u003e()):\n | \t\t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n"},{"kind":"contract-update-success","account_address":"0xc911d6ddfae70ce8","contract_name":"PriceOracle"},{"kind":"contract-update-success","account_address":"0x2d59ec5158e3adae","contract_name":"HeroesOfTheFlow"},{"kind":"contract-update-success","account_address":"0xe8124d8428980aa6","contract_name":"Bl0x"},{"kind":"contract-update-failure","account_address":"0xc7c122b5b811de8e","contract_name":"BulkPurchase","error":"error: missing structure declaration `Order`\n --\u003e c7c122b5b811de8e.BulkPurchase:20:21\n |\n20 | access(all) contract BulkPurchase {\n | ^^^^^^^^^^^^\n"},{"kind":"contract-update-success","account_address":"0xc7c122b5b811de8e","contract_name":"FlowversePass"},{"kind":"contract-update-success","account_address":"0xc7c122b5b811de8e","contract_name":"FlowversePassPrimarySaleMinter"},{"kind":"contract-update-success","account_address":"0xc7c122b5b811de8e","contract_name":"FlowversePrimarySale"},{"kind":"contract-update-success","account_address":"0xc7c122b5b811de8e","contract_name":"FlowversePrimarySaleV2"},{"kind":"contract-update-success","account_address":"0xc7c122b5b811de8e","contract_name":"FlowverseShirt"},{"kind":"contract-update-success","account_address":"0xc7c122b5b811de8e","contract_name":"FlowverseSocks"},{"kind":"contract-update-success","account_address":"0xc7c122b5b811de8e","contract_name":"FlowverseTreasures"},{"kind":"contract-update-success","account_address":"0xc7c122b5b811de8e","contract_name":"FlowverseTreasuresPrimarySaleMinter"},{"kind":"contract-update-success","account_address":"0xc7c122b5b811de8e","contract_name":"Ordinal"},{"kind":"contract-update-success","account_address":"0xc7c122b5b811de8e","contract_name":"OrdinalVendor"},{"kind":"contract-update-success","account_address":"0xc7c122b5b811de8e","contract_name":"Royalties"},{"kind":"contract-update-success","account_address":"0xd9c02cdacccb25ab","contract_name":"FlowtyTestNFT"},{"kind":"contract-update-success","account_address":"0x6d692450d591524c","contract_name":"PriceOracle"},{"kind":"contract-update-success","account_address":"0x3a52faafb43951c0","contract_name":"BigEast"},{"kind":"contract-update-success","account_address":"0x3a52faafb43951c0","contract_name":"LNVCT"},{"kind":"contract-update-success","account_address":"0x3a52faafb43951c0","contract_name":"MLS"},{"kind":"contract-update-success","account_address":"0x3a52faafb43951c0","contract_name":"NFL"},{"kind":"contract-update-success","account_address":"0x3a52faafb43951c0","contract_name":"Sharks"},{"kind":"contract-update-success","account_address":"0x3a52faafb43951c0","contract_name":"Stanz"},{"kind":"contract-update-success","account_address":"0x3a52faafb43951c0","contract_name":"TMNFT"},{"kind":"contract-update-success","account_address":"0x2a9011074c827145","contract_name":"FungibleTokenCatalog"},{"kind":"contract-update-success","account_address":"0xe7d5fb4c128b85b7","contract_name":"Genies"},{"kind":"contract-update-success","account_address":"0x26a1e94319e81a3c","contract_name":"Staking"},{"kind":"contract-update-success","account_address":"0x26a1e94319e81a3c","contract_name":"StakingError"},{"kind":"contract-update-success","account_address":"0x86d1c2159a5d9eca","contract_name":"TransactionTypes"},{"kind":"contract-update-failure","account_address":"0x1f38da7a93c61f28","contract_name":"ExampleNFT","error":"error: cannot find type in this scope: `NonFungibleToken.Owner`\n --\u003e 1f38da7a93c61f28.ExampleNFT:161:43\n |\n161 | access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {\n | ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `NonFungibleToken.Owner`\n --\u003e 1f38da7a93c61f28.ExampleNFT:183:60\n |\n183 | let authTokenRef = (\u0026self.ownedNFTs[id] as auth(NonFungibleToken.Owner) \u0026{NonFungibleToken.NFT}?)!\n | ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: mismatched types\n --\u003e 1f38da7a93c61f28.ExampleNFT:185:38\n |\n185 | ExampleNFT.emitNFTUpdated(authTokenRef)\n | ^^^^^^^^^^^^ expected `auth(NonFungibleToken.Update) \u0026{NonFungibleToken.NFT}`, got `auth(NonFungibleToken) \u0026{NonFungibleToken.NFT}`\n\nerror: resource `ExampleNFT.Collection` does not conform to resource interface `NonFungibleToken.Collection`\n --\u003e 1f38da7a93c61f28.ExampleNFT:134:25\n |\n134 | access(all) resource Collection: NonFungibleToken.Collection, ExampleNFTCollectionPublic {\n | ^\n ... \n |\n137 | access(contract) var ownedNFTs: @{UInt64: {NonFungibleToken.NFT}}\n | --------- mismatch here\n\nerror: resource `ExampleNFT.Collection` does not conform to resource interface `NonFungibleToken.Collection`\n --\u003e 1f38da7a93c61f28.ExampleNFT:134:25\n |\n134 | access(all) resource Collection: NonFungibleToken.Collection, ExampleNFTCollectionPublic {\n | ^\n ... \n |\n161 | access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {\n | -------- mismatch here\n"},{"kind":"contract-update-success","account_address":"0x8232ce4a3aff4e94","contract_name":"PublicPriceOracle"},{"kind":"contract-update-success","account_address":"0xcc3f23a0ee7b0549","contract_name":"rodangear_NFT"},{"kind":"contract-update-success","account_address":"0x886d5599b3bfc873","contract_name":"A"},{"kind":"contract-update-success","account_address":"0x886d5599b3bfc873","contract_name":"B"},{"kind":"contract-update-success","account_address":"0xe45c64ecfe31e465","contract_name":"DelegatorManager"},{"kind":"contract-update-success","account_address":"0xe45c64ecfe31e465","contract_name":"LiquidStaking"},{"kind":"contract-update-success","account_address":"0xe45c64ecfe31e465","contract_name":"LiquidStakingConfig"},{"kind":"contract-update-success","account_address":"0xe45c64ecfe31e465","contract_name":"LiquidStakingError"},{"kind":"contract-update-success","account_address":"0xa2526e2d9cc7f0d2","contract_name":"PackNFT"},{"kind":"contract-update-success","account_address":"0xa2526e2d9cc7f0d2","contract_name":"Pinnacle"},{"kind":"contract-update-success","account_address":"0xe45c64ecfe31e465","contract_name":"stFlowToken"},{"kind":"contract-update-failure","account_address":"0x3e5b4c627064625d","contract_name":"Flomies","error":"error: found new field `storagePath` in `Collection`\n --\u003e 3e5b4c627064625d.Flomies:231:25\n |\n231 | access(self) var storagePath: StoragePath\n | ^^^^^^^^^^^\n\nerror: found new field `publicPath` in `Collection`\n --\u003e 3e5b4c627064625d.Flomies:232:25\n |\n232 | access(self) var publicPath: PublicPath\n | ^^^^^^^^^^\n"},{"kind":"contract-update-success","account_address":"0x3e5b4c627064625d","contract_name":"GeneratedExperiences"},{"kind":"contract-update-success","account_address":"0x3e5b4c627064625d","contract_name":"NFGv3"},{"kind":"contract-update-failure","account_address":"0x3e5b4c627064625d","contract_name":"PartyFavorz","error":"error: found new field `storagePath` in `Collection`\n --\u003e 3e5b4c627064625d.PartyFavorz:249:25\n |\n249 | access(self) var storagePath: StoragePath\n | ^^^^^^^^^^^\n\nerror: found new field `publicPath` in `Collection`\n --\u003e 3e5b4c627064625d.PartyFavorz:250:25\n |\n250 | access(self) var publicPath: PublicPath\n | ^^^^^^^^^^\n"},{"kind":"contract-update-success","account_address":"0x3e5b4c627064625d","contract_name":"PartyFavorzExtraData"},{"kind":"contract-update-success","account_address":"0x857dc34d5e1631d3","contract_name":"FLOAT"},{"kind":"contract-update-failure","account_address":"0x857dc34d5e1631d3","contract_name":"FLOATVerifiers","error":"error: error getting program 4d47bf3ce5e4393f.FLOAT: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:0\n |\n28 | pub contract FLOAT: NonFungibleToken, ViewResolver {\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :34:4\n |\n34 | pub let FLOATCollectionStoragePath: StoragePath\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :35:4\n |\n35 | pub let FLOATCollectionPublicPath: PublicPath\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :36:4\n |\n36 | pub let FLOATEventsStoragePath: StoragePath\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :37:4\n |\n37 | pub let FLOATEventsPublicPath: PublicPath\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :38:4\n |\n38 | pub let FLOATEventsPrivatePath: PrivatePath\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :44:4\n |\n44 | pub event ContractInitialized()\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :45:4\n |\n45 | pub event FLOATMinted(id: UInt64, eventHost: Address, eventId: UInt64, eventImage: String, recipient: Address, serial: UInt64)\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :46:4\n |\n46 | pub event FLOATClaimed(id: UInt64, eventHost: Address, eventId: UInt64, eventImage: String, eventName: String, recipient: Address, serial: UInt64)\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :47:4\n |\n47 | pub event FLOATDestroyed(id: UInt64, eventHost: Address, eventId: UInt64, eventImage: String, serial: UInt64)\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :48:4\n |\n48 | pub event FLOATTransferred(id: UInt64, eventHost: Address, eventId: UInt64, newOwner: Address?, serial: UInt64)\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :49:4\n |\n49 | pub event FLOATPurchased(id: UInt64, eventHost: Address, eventId: UInt64, recipient: Address, serial: UInt64)\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :50:4\n |\n50 | pub event FLOATEventCreated(eventId: UInt64, description: String, host: Address, image: String, name: String, url: String)\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :51:4\n |\n51 | pub event FLOATEventDestroyed(eventId: UInt64, host: Address, name: String)\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :53:4\n |\n53 | pub event Deposit(id: UInt64, to: Address?)\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :54:4\n |\n54 | pub event Withdraw(id: UInt64, from: Address?)\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :62:4\n |\n62 | pub var totalSupply: UInt64\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :65:4\n |\n65 | pub var totalFLOATEvents: UInt64\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :73:4\n |\n73 | pub struct TokenIdentifier {\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :74:8\n |\n74 | pub let id: UInt64\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :75:8\n |\n75 | pub let address: Address\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :76:8\n |\n76 | pub let serial: UInt64\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :85:4\n |\n85 | pub struct TokenInfo {\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :86:8\n |\n86 | pub let path: PublicPath\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :87:8\n |\n87 | pub let price: UFix64\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :96:4\n |\n96 | pub resource NFT: NonFungibleToken.INFT, MetadataViews.Resolver {\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :98:8\n |\n98 | pub let id: UInt64\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :103:8\n |\n103 | pub let dateReceived: UFix64\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :104:8\n |\n104 | pub let eventDescription: String\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :105:8\n |\n105 | pub let eventHost: Address\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :106:8\n |\n106 | pub let eventId: UInt64\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :107:8\n |\n107 | pub let eventImage: String\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :108:8\n |\n108 | pub let eventName: String\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:8\n |\n109 | pub let originalRecipient: Address\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :110:8\n |\n110 | pub let serial: UInt64\r\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :117:8\n |\n117 | pub let eventsCap: Capability\u003c\u0026FLOATEvents{FLOATEventsPublic, MetadataViews.ResolverCollection}\u003e\r\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :117:51\n |\n117 | pub let eventsCap: Capability\u003c\u0026FLOATEvents{FLOATEventsPublic, MetadataViews.ResolverCollection}\u003e\r\n | ^^^^^^^^^^^^^^^^^\n\n--\u003e 4d47bf3ce5e4393f.FLOAT\n\nerror: cannot find type in this scope: `FLOAT`\n --\u003e 857dc34d5e1631d3.FLOATVerifiers:38:33\n |\n38 | access(all) struct Timelock: FLOAT.IVerifier {\n | ^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FLOAT`\n --\u003e 857dc34d5e1631d3.FLOATVerifiers:66:31\n |\n66 | access(all) struct Secret: FLOAT.IVerifier {\n | ^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FLOAT`\n --\u003e 857dc34d5e1631d3.FLOATVerifiers:90:32\n |\n90 | access(all) struct Limited: FLOAT.IVerifier {\n | ^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FLOAT`\n --\u003e 857dc34d5e1631d3.FLOATVerifiers:113:39\n |\n113 | access(all) struct MultipleSecret: FLOAT.IVerifier {\n | ^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FLOAT`\n --\u003e 857dc34d5e1631d3.FLOATVerifiers:137:33\n |\n137 | access(all) struct SecretV2: FLOAT.IVerifier {\n | ^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FLOAT`\n --\u003e 857dc34d5e1631d3.FLOATVerifiers:162:39\n |\n162 | access(all) struct MinimumBalance: FLOAT.IVerifier {\n | ^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FLOAT`\n --\u003e 857dc34d5e1631d3.FLOATVerifiers:226:30\n |\n226 | access(all) struct Email: FLOAT.IVerifier {\n | ^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FLOAT`\n --\u003e 857dc34d5e1631d3.FLOATVerifiers:94:51\n |\n94 | let floatEvent = params[\"event\"]! as! \u0026FLOAT.FLOATEvent\n | ^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FLOAT`\n --\u003e 857dc34d5e1631d3.FLOATVerifiers:230:51\n |\n230 | let floatEvent = params[\"event\"]! as! \u0026FLOAT.FLOATEvent\n | ^^^^^ not found in this scope\n"},{"kind":"contract-update-success","account_address":"0x6d0f55821f6b2dbe","contract_name":"BBxBarbieCard"},{"kind":"contract-update-success","account_address":"0x6d0f55821f6b2dbe","contract_name":"BBxBarbiePM"},{"kind":"contract-update-success","account_address":"0x6d0f55821f6b2dbe","contract_name":"BBxBarbiePack"},{"kind":"contract-update-success","account_address":"0x6d0f55821f6b2dbe","contract_name":"BBxBarbieToken"},{"kind":"contract-update-success","account_address":"0x5d45c655fcde5037","contract_name":"TicalUniverse"},{"kind":"contract-update-success","account_address":"0x5d45c655fcde5037","contract_name":"TuneGO"},{"kind":"contract-update-success","account_address":"0xf9dad0d4c14a92b5","contract_name":"BUSD"},{"kind":"contract-update-success","account_address":"0xf9dad0d4c14a92b5","contract_name":"USDC"},{"kind":"contract-update-success","account_address":"0xf9dad0d4c14a92b5","contract_name":"USDT"},{"kind":"contract-update-success","account_address":"0xf9dad0d4c14a92b5","contract_name":"wFlow"},{"kind":"contract-update-success","account_address":"0xa47a2d3a3b7e9133","contract_name":"FanTopMarket"},{"kind":"contract-update-success","account_address":"0xa47a2d3a3b7e9133","contract_name":"FanTopPermission"},{"kind":"contract-update-success","account_address":"0xa47a2d3a3b7e9133","contract_name":"FanTopPermissionV2a"},{"kind":"contract-update-success","account_address":"0xa47a2d3a3b7e9133","contract_name":"FanTopSerial"},{"kind":"contract-update-success","account_address":"0xa47a2d3a3b7e9133","contract_name":"FanTopToken"},{"kind":"contract-update-success","account_address":"0xa47a2d3a3b7e9133","contract_name":"Signature"},{"kind":"contract-update-failure","account_address":"0x250e0b90c1b7711b","contract_name":"A","error":"error: cannot find declaration `B` in `250e0b90c1b7711b.B`\n --\u003e 250e0b90c1b7711b.A:1:7\n |\n1 | import B from 0x250e0b90c1b7711b\n | ^ available exported declarations are:\n - `Bad`\n\n"},{"kind":"contract-update-success","account_address":"0x250e0b90c1b7711b","contract_name":"B"},{"kind":"contract-update-success","account_address":"0x250e0b90c1b7711b","contract_name":"Bar"},{"kind":"contract-update-success","account_address":"0x250e0b90c1b7711b","contract_name":"F"},{"kind":"contract-update-success","account_address":"0x250e0b90c1b7711b","contract_name":"Foo"},{"kind":"contract-update-success","account_address":"0x250e0b90c1b7711b","contract_name":"L"},{"kind":"contract-update-success","account_address":"0x250e0b90c1b7711b","contract_name":"O"},{"kind":"contract-update-failure","account_address":"0x250e0b90c1b7711b","contract_name":"W","error":"error: mismatching field `foo` in `W`\n --\u003e 250e0b90c1b7711b.W:3:25\n |\n3 | access(all) let foo: String\n | ^^^^^^ incompatible type annotations. expected `Int`, found `String`\n"},{"kind":"contract-update-success","account_address":"0x0d3dc5ad70be03d1","contract_name":"Filter"},{"kind":"contract-update-success","account_address":"0x0d3dc5ad70be03d1","contract_name":"Offers"},{"kind":"contract-update-success","account_address":"0x0d3dc5ad70be03d1","contract_name":"ScopedFTProviders"},{"kind":"contract-update-success","account_address":"0x985d410b577fd4a1","contract_name":"Gamisodes"},{"kind":"contract-update-success","account_address":"0x985d410b577fd4a1","contract_name":"Lufthaus"},{"kind":"contract-update-success","account_address":"0x985d410b577fd4a1","contract_name":"MUMGJ"},{"kind":"contract-update-success","account_address":"0x985d410b577fd4a1","contract_name":"MintStoreItem"},{"kind":"contract-update-success","account_address":"0x985d410b577fd4a1","contract_name":"OpenLockerInc"},{"kind":"contract-update-success","account_address":"0x985d410b577fd4a1","contract_name":"OpenLockerIncBoneYardHuskyzClub"},{"kind":"contract-update-success","account_address":"0x985d410b577fd4a1","contract_name":"Pickem"},{"kind":"contract-update-success","account_address":"0x985d410b577fd4a1","contract_name":"RTLStoreItem"},{"kind":"contract-update-success","account_address":"0x985d410b577fd4a1","contract_name":"YBees"},{"kind":"contract-update-success","account_address":"0x985d410b577fd4a1","contract_name":"YoungBoysBern"},{"kind":"contract-update-failure","account_address":"0xb39a42479c1c2c77","contract_name":"AFLAdmin","error":"error: error getting program b39a42479c1c2c77.AFLPack: failed to derive value: load program failed: Checking failed:\nerror: error getting program a983fecbed621163.FiatToken: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :5:0\n |\n5 | pub contract FiatToken: FungibleToken {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :10:4\n |\n10 | pub event AdminCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :11:4\n |\n11 | pub event AdminChanged(address: Address, resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:4\n |\n14 | pub event OwnerCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :15:4\n |\n15 | pub event OwnerChanged(address: Address, resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :18:4\n |\n18 | pub event MasterMinterCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:4\n |\n19 | pub event MasterMinterChanged(address: Address, resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :22:4\n |\n22 | pub event Paused()\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :23:4\n |\n23 | pub event Unpaused()\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :24:4\n |\n24 | pub event PauserCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :25:4\n |\n25 | pub event PauserChanged(address: Address, resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub event Blocklisted(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :29:4\n |\n29 | pub event Unblocklisted(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :30:4\n |\n30 | pub event BlocklisterCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :31:4\n |\n31 | pub event BlocklisterChanged(address: Address, resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :34:4\n |\n34 | pub event NewVault(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :35:4\n |\n35 | pub event DestroyVault(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :36:4\n |\n36 | pub event FiatTokenWithdrawn(amount: UFix64, from: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :37:4\n |\n37 | pub event FiatTokenDeposited(amount: UFix64, to: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :40:4\n |\n40 | pub event MinterCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :41:4\n |\n41 | pub event MinterControllerCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :42:4\n |\n42 | pub event Mint(minter: UInt64, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :43:4\n |\n43 | pub event Burn(minter: UInt64, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :44:4\n |\n44 | pub event MinterConfigured(controller: UInt64, minter: UInt64, allowance: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :45:4\n |\n45 | pub event MinterRemoved(controller: UInt64, minter: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :46:4\n |\n46 | pub event ControllerConfigured(controller: UInt64, minter: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :47:4\n |\n47 | pub event ControllerRemoved(controller: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :52:4\n |\n52 | pub event TokensInitialized(initialSupply: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :53:4\n |\n53 | pub event TokensWithdrawn(amount: UFix64, from: Address?)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :54:4\n |\n54 | pub event TokensDeposited(amount: UFix64, to: Address?)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:4\n |\n59 | pub let VaultStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :60:4\n |\n60 | pub let VaultBalancePubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :61:4\n |\n61 | pub let VaultUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :62:4\n |\n62 | pub let VaultReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :64:4\n |\n64 | pub let BlocklistExecutorStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :66:4\n |\n66 | pub let BlocklisterStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :67:4\n |\n67 | pub let BlocklisterCapReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :68:4\n |\n68 | pub let BlocklisterUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:4\n |\n69 | pub let BlocklisterPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :71:4\n |\n71 | pub let PauseExecutorStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :73:4\n |\n73 | pub let PauserStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :74:4\n |\n74 | pub let PauserCapReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :75:4\n |\n75 | pub let PauserUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :76:4\n |\n76 | pub let PauserPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :78:4\n |\n78 | pub let AdminExecutorStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :80:4\n |\n80 | pub let AdminStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :81:4\n |\n81 | pub let AdminCapReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:4\n |\n82 | pub let AdminUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :83:4\n |\n83 | pub let AdminPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :85:4\n |\n85 | pub let OwnerExecutorStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :87:4\n |\n87 | pub let OwnerStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :88:4\n |\n88 | pub let OwnerCapReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :89:4\n |\n89 | pub let OwnerUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:4\n |\n90 | pub let OwnerPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :92:4\n |\n92 | pub let MasterMinterExecutorStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :94:4\n |\n94 | pub let MasterMinterStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :95:4\n |\n95 | pub let MasterMinterCapReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :96:4\n |\n96 | pub let MasterMinterUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :97:4\n |\n97 | pub let MasterMinterPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:4\n |\n99 | pub let MinterControllerStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :100:4\n |\n100 | pub let MinterControllerUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :101:4\n |\n101 | pub let MinterControllerPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :103:4\n |\n103 | pub let MinterStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :104:4\n |\n104 | pub let MinterUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:4\n |\n109 | pub let name: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :110:4\n |\n110 | pub var version: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :112:4\n |\n112 | pub var paused: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :114:4\n |\n114 | pub var totalSupply: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :125:4\n |\n125 | pub resource interface ResourceId {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:8\n |\n126 | pub fun UUID(): UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :129:4\n |\n129 | pub resource interface AdminCapReceiver {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :130:8\n |\n130 | pub fun setAdminCap(cap: Capability\u003c\u0026AdminExecutor\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:4\n |\n133 | pub resource interface OwnerCapReceiver {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :134:8\n |\n134 | pub fun setOwnerCap(cap: Capability\u003c\u0026OwnerExecutor\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :137:4\n |\n137 | pub resource interface MasterMinterCapReceiver {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :138:8\n |\n138 | pub fun setMasterMinterCap(cap: Capability\u003c\u0026MasterMinterExecutor\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :141:4\n |\n141 | pub resource interface BlocklisterCapReceiver {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:8\n |\n142 | pub fun setBlocklistCap(cap: Capability\u003c\u0026BlocklistExecutor\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :145:4\n |\n145 | pub resource interface PauseCapReceiver {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :146:8\n |\n146 | pub fun setPauseCap(cap: Capability\u003c\u0026PauseExecutor\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :186:4\n |\n186 | pub resource Vault:\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:8\n |\n192 | pub var balance: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:8\n |\n194 | pub fun withdraw(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :205:8\n |\n205 | pub fun deposit(from: @FungibleToken.Vault) {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :219:8\n |\n219 | pub fun UUID(): UInt64 {\n | ^^^\n\nerror: custom destructor definitions are no longer permitted\n --\u003e :231:8\n |\n231 | destroy() {\n | ^ remove the destructor definition\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :244:4\n |\n244 | pub resource AdminExecutor {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :248:8\n |\n248 | pub fun upgradeContract(name: String, code: [UInt8], version: String) {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :252:8\n |\n252 | pub fun changeAdmin(to: Address, newPath: PrivatePath) {\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :255:38\n |\n255 | .getCapability\u003c\u0026Admin{AdminCapReceiver}\u003e(FiatToken.AdminCapReceiverPubPath)\n | ^^^^^^^^^^^^^^^^\n\n--\u003e a983fecbed621163.FiatToken\n\nerror: cannot find type in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLPack:23:48\n\nerror: cannot find type in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLPack:165:55\n\nerror: cannot find variable in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLPack:165:72\n\nerror: cannot infer type parameter: `T`\n --\u003e b39a42479c1c2c77.AFLPack:165:24\n\nerror: cannot find type in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLPack:111:38\n\nerror: cannot find type in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLPack:112:35\n\nerror: cannot infer type parameter: `T`\n --\u003e b39a42479c1c2c77.AFLPack:111:56\n\nerror: cannot infer type parameter: `T`\n --\u003e b39a42479c1c2c77.AFLPack:111:56\n\n--\u003e b39a42479c1c2c77.AFLPack\n"},{"kind":"contract-update-success","account_address":"0xb39a42479c1c2c77","contract_name":"AFLBadges"},{"kind":"contract-update-success","account_address":"0xb39a42479c1c2c77","contract_name":"AFLBurnExchange"},{"kind":"contract-update-success","account_address":"0xb39a42479c1c2c77","contract_name":"AFLBurnRegistry"},{"kind":"contract-update-success","account_address":"0xb39a42479c1c2c77","contract_name":"AFLIndex"},{"kind":"contract-update-failure","account_address":"0xb39a42479c1c2c77","contract_name":"AFLMarketplace","error":"error: error getting program a983fecbed621163.FiatToken: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :5:0\n |\n5 | pub contract FiatToken: FungibleToken {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :10:4\n |\n10 | pub event AdminCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :11:4\n |\n11 | pub event AdminChanged(address: Address, resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:4\n |\n14 | pub event OwnerCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :15:4\n |\n15 | pub event OwnerChanged(address: Address, resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :18:4\n |\n18 | pub event MasterMinterCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:4\n |\n19 | pub event MasterMinterChanged(address: Address, resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :22:4\n |\n22 | pub event Paused()\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :23:4\n |\n23 | pub event Unpaused()\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :24:4\n |\n24 | pub event PauserCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :25:4\n |\n25 | pub event PauserChanged(address: Address, resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub event Blocklisted(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :29:4\n |\n29 | pub event Unblocklisted(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :30:4\n |\n30 | pub event BlocklisterCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :31:4\n |\n31 | pub event BlocklisterChanged(address: Address, resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :34:4\n |\n34 | pub event NewVault(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :35:4\n |\n35 | pub event DestroyVault(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :36:4\n |\n36 | pub event FiatTokenWithdrawn(amount: UFix64, from: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :37:4\n |\n37 | pub event FiatTokenDeposited(amount: UFix64, to: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :40:4\n |\n40 | pub event MinterCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :41:4\n |\n41 | pub event MinterControllerCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :42:4\n |\n42 | pub event Mint(minter: UInt64, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :43:4\n |\n43 | pub event Burn(minter: UInt64, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :44:4\n |\n44 | pub event MinterConfigured(controller: UInt64, minter: UInt64, allowance: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :45:4\n |\n45 | pub event MinterRemoved(controller: UInt64, minter: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :46:4\n |\n46 | pub event ControllerConfigured(controller: UInt64, minter: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :47:4\n |\n47 | pub event ControllerRemoved(controller: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :52:4\n |\n52 | pub event TokensInitialized(initialSupply: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :53:4\n |\n53 | pub event TokensWithdrawn(amount: UFix64, from: Address?)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :54:4\n |\n54 | pub event TokensDeposited(amount: UFix64, to: Address?)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:4\n |\n59 | pub let VaultStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :60:4\n |\n60 | pub let VaultBalancePubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :61:4\n |\n61 | pub let VaultUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :62:4\n |\n62 | pub let VaultReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :64:4\n |\n64 | pub let BlocklistExecutorStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :66:4\n |\n66 | pub let BlocklisterStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :67:4\n |\n67 | pub let BlocklisterCapReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :68:4\n |\n68 | pub let BlocklisterUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:4\n |\n69 | pub let BlocklisterPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :71:4\n |\n71 | pub let PauseExecutorStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :73:4\n |\n73 | pub let PauserStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :74:4\n |\n74 | pub let PauserCapReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :75:4\n |\n75 | pub let PauserUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :76:4\n |\n76 | pub let PauserPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :78:4\n |\n78 | pub let AdminExecutorStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :80:4\n |\n80 | pub let AdminStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :81:4\n |\n81 | pub let AdminCapReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:4\n |\n82 | pub let AdminUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :83:4\n |\n83 | pub let AdminPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :85:4\n |\n85 | pub let OwnerExecutorStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :87:4\n |\n87 | pub let OwnerStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :88:4\n |\n88 | pub let OwnerCapReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :89:4\n |\n89 | pub let OwnerUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:4\n |\n90 | pub let OwnerPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :92:4\n |\n92 | pub let MasterMinterExecutorStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :94:4\n |\n94 | pub let MasterMinterStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :95:4\n |\n95 | pub let MasterMinterCapReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :96:4\n |\n96 | pub let MasterMinterUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :97:4\n |\n97 | pub let MasterMinterPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:4\n |\n99 | pub let MinterControllerStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :100:4\n |\n100 | pub let MinterControllerUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :101:4\n |\n101 | pub let MinterControllerPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :103:4\n |\n103 | pub let MinterStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :104:4\n |\n104 | pub let MinterUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:4\n |\n109 | pub let name: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :110:4\n |\n110 | pub var version: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :112:4\n |\n112 | pub var paused: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :114:4\n |\n114 | pub var totalSupply: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :125:4\n |\n125 | pub resource interface ResourceId {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:8\n |\n126 | pub fun UUID(): UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :129:4\n |\n129 | pub resource interface AdminCapReceiver {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :130:8\n |\n130 | pub fun setAdminCap(cap: Capability\u003c\u0026AdminExecutor\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:4\n |\n133 | pub resource interface OwnerCapReceiver {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :134:8\n |\n134 | pub fun setOwnerCap(cap: Capability\u003c\u0026OwnerExecutor\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :137:4\n |\n137 | pub resource interface MasterMinterCapReceiver {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :138:8\n |\n138 | pub fun setMasterMinterCap(cap: Capability\u003c\u0026MasterMinterExecutor\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :141:4\n |\n141 | pub resource interface BlocklisterCapReceiver {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:8\n |\n142 | pub fun setBlocklistCap(cap: Capability\u003c\u0026BlocklistExecutor\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :145:4\n |\n145 | pub resource interface PauseCapReceiver {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :146:8\n |\n146 | pub fun setPauseCap(cap: Capability\u003c\u0026PauseExecutor\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :186:4\n |\n186 | pub resource Vault:\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:8\n |\n192 | pub var balance: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:8\n |\n194 | pub fun withdraw(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :205:8\n |\n205 | pub fun deposit(from: @FungibleToken.Vault) {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :219:8\n |\n219 | pub fun UUID(): UInt64 {\n | ^^^\n\nerror: custom destructor definitions are no longer permitted\n --\u003e :231:8\n |\n231 | destroy() {\n | ^ remove the destructor definition\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :244:4\n |\n244 | pub resource AdminExecutor {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :248:8\n |\n248 | pub fun upgradeContract(name: String, code: [UInt8], version: String) {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :252:8\n |\n252 | pub fun changeAdmin(to: Address, newPath: PrivatePath) {\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :255:38\n |\n255 | .getCapability\u003c\u0026Admin{AdminCapReceiver}\u003e(FiatToken.AdminCapReceiverPubPath)\n | ^^^^^^^^^^^^^^^^\n\n--\u003e a983fecbed621163.FiatToken\n\nerror: cannot find type in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLMarketplace:79:33\n |\n79 | init (vault: Capability\u003c\u0026FiatToken.Vault\u003e) {\n | ^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLMarketplace:77:49\n |\n77 | access(self) let ownerVault: Capability\u003c\u0026FiatToken.Vault\u003e\n | ^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLMarketplace:259:70\n |\n259 | access(all) fun changeMarketplaceWallet(_ newCap: Capability\u003c\u0026FiatToken.Vault\u003e) {\n | ^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLMarketplace:12:56\n |\n12 | access(contract) var marketplaceWallet: Capability\u003c\u0026FiatToken.Vault\u003e\n | ^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLMarketplace:242:65\n |\n242 | access(all) fun createSaleCollection(ownerVault: Capability\u003c\u0026FiatToken.Vault\u003e): @SaleCollection {\n | ^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLMarketplace:277:64\n |\n277 | self.marketplaceWallet = self.account.capabilities.get\u003c\u0026FiatToken.Vault\u003e(/public/FiatTokenVaultReceiver)\n | ^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e b39a42479c1c2c77.AFLMarketplace:277:33\n |\n277 | self.marketplaceWallet = self.account.capabilities.get\u003c\u0026FiatToken.Vault\u003e(/public/FiatTokenVaultReceiver)\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find type in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLMarketplace:119:36\n |\n119 | let saleOwnerVaultRef: \u0026FiatToken.Vault = self.ownerVault.borrow() ?? panic(\"could not borrow reference to the owner vault\")\n | ^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLMarketplace:126:36\n |\n126 | let marketplaceWallet: \u0026FiatToken.Vault = AFLMarketplace.marketplaceWallet.borrow() ?? panic(\"Couldn't borrow Vault reference\")\n | ^^^^^^^^^ not found in this scope\n"},{"kind":"contract-update-success","account_address":"0xb39a42479c1c2c77","contract_name":"AFLMetadataHelper"},{"kind":"contract-update-success","account_address":"0xb39a42479c1c2c77","contract_name":"AFLNFT"},{"kind":"contract-update-failure","account_address":"0xb39a42479c1c2c77","contract_name":"AFLPack","error":"error: error getting program a983fecbed621163.FiatToken: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :5:0\n |\n5 | pub contract FiatToken: FungibleToken {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :10:4\n |\n10 | pub event AdminCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :11:4\n |\n11 | pub event AdminChanged(address: Address, resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :14:4\n |\n14 | pub event OwnerCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :15:4\n |\n15 | pub event OwnerChanged(address: Address, resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :18:4\n |\n18 | pub event MasterMinterCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :19:4\n |\n19 | pub event MasterMinterChanged(address: Address, resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :22:4\n |\n22 | pub event Paused()\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :23:4\n |\n23 | pub event Unpaused()\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :24:4\n |\n24 | pub event PauserCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :25:4\n |\n25 | pub event PauserChanged(address: Address, resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :28:4\n |\n28 | pub event Blocklisted(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :29:4\n |\n29 | pub event Unblocklisted(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :30:4\n |\n30 | pub event BlocklisterCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :31:4\n |\n31 | pub event BlocklisterChanged(address: Address, resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :34:4\n |\n34 | pub event NewVault(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :35:4\n |\n35 | pub event DestroyVault(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :36:4\n |\n36 | pub event FiatTokenWithdrawn(amount: UFix64, from: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :37:4\n |\n37 | pub event FiatTokenDeposited(amount: UFix64, to: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :40:4\n |\n40 | pub event MinterCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :41:4\n |\n41 | pub event MinterControllerCreated(resourceId: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :42:4\n |\n42 | pub event Mint(minter: UInt64, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :43:4\n |\n43 | pub event Burn(minter: UInt64, amount: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :44:4\n |\n44 | pub event MinterConfigured(controller: UInt64, minter: UInt64, allowance: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :45:4\n |\n45 | pub event MinterRemoved(controller: UInt64, minter: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :46:4\n |\n46 | pub event ControllerConfigured(controller: UInt64, minter: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :47:4\n |\n47 | pub event ControllerRemoved(controller: UInt64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :52:4\n |\n52 | pub event TokensInitialized(initialSupply: UFix64)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :53:4\n |\n53 | pub event TokensWithdrawn(amount: UFix64, from: Address?)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :54:4\n |\n54 | pub event TokensDeposited(amount: UFix64, to: Address?)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :59:4\n |\n59 | pub let VaultStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :60:4\n |\n60 | pub let VaultBalancePubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :61:4\n |\n61 | pub let VaultUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :62:4\n |\n62 | pub let VaultReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :64:4\n |\n64 | pub let BlocklistExecutorStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :66:4\n |\n66 | pub let BlocklisterStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :67:4\n |\n67 | pub let BlocklisterCapReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :68:4\n |\n68 | pub let BlocklisterUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :69:4\n |\n69 | pub let BlocklisterPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :71:4\n |\n71 | pub let PauseExecutorStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :73:4\n |\n73 | pub let PauserStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :74:4\n |\n74 | pub let PauserCapReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :75:4\n |\n75 | pub let PauserUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :76:4\n |\n76 | pub let PauserPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :78:4\n |\n78 | pub let AdminExecutorStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :80:4\n |\n80 | pub let AdminStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :81:4\n |\n81 | pub let AdminCapReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :82:4\n |\n82 | pub let AdminUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :83:4\n |\n83 | pub let AdminPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :85:4\n |\n85 | pub let OwnerExecutorStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :87:4\n |\n87 | pub let OwnerStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :88:4\n |\n88 | pub let OwnerCapReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :89:4\n |\n89 | pub let OwnerUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :90:4\n |\n90 | pub let OwnerPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :92:4\n |\n92 | pub let MasterMinterExecutorStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :94:4\n |\n94 | pub let MasterMinterStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :95:4\n |\n95 | pub let MasterMinterCapReceiverPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :96:4\n |\n96 | pub let MasterMinterUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :97:4\n |\n97 | pub let MasterMinterPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :99:4\n |\n99 | pub let MinterControllerStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :100:4\n |\n100 | pub let MinterControllerUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :101:4\n |\n101 | pub let MinterControllerPubSigner: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :103:4\n |\n103 | pub let MinterStoragePath: StoragePath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :104:4\n |\n104 | pub let MinterUUIDPubPath: PublicPath\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :109:4\n |\n109 | pub let name: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :110:4\n |\n110 | pub var version: String\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :112:4\n |\n112 | pub var paused: Bool\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :114:4\n |\n114 | pub var totalSupply: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :125:4\n |\n125 | pub resource interface ResourceId {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :126:8\n |\n126 | pub fun UUID(): UInt64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :129:4\n |\n129 | pub resource interface AdminCapReceiver {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :130:8\n |\n130 | pub fun setAdminCap(cap: Capability\u003c\u0026AdminExecutor\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :133:4\n |\n133 | pub resource interface OwnerCapReceiver {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :134:8\n |\n134 | pub fun setOwnerCap(cap: Capability\u003c\u0026OwnerExecutor\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :137:4\n |\n137 | pub resource interface MasterMinterCapReceiver {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :138:8\n |\n138 | pub fun setMasterMinterCap(cap: Capability\u003c\u0026MasterMinterExecutor\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :141:4\n |\n141 | pub resource interface BlocklisterCapReceiver {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :142:8\n |\n142 | pub fun setBlocklistCap(cap: Capability\u003c\u0026BlocklistExecutor\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :145:4\n |\n145 | pub resource interface PauseCapReceiver {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :146:8\n |\n146 | pub fun setPauseCap(cap: Capability\u003c\u0026PauseExecutor\u003e)\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :186:4\n |\n186 | pub resource Vault:\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :192:8\n |\n192 | pub var balance: UFix64\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :194:8\n |\n194 | pub fun withdraw(amount: UFix64): @FungibleToken.Vault {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :205:8\n |\n205 | pub fun deposit(from: @FungibleToken.Vault) {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :219:8\n |\n219 | pub fun UUID(): UInt64 {\n | ^^^\n\nerror: custom destructor definitions are no longer permitted\n --\u003e :231:8\n |\n231 | destroy() {\n | ^ remove the destructor definition\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :244:4\n |\n244 | pub resource AdminExecutor {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :248:8\n |\n248 | pub fun upgradeContract(name: String, code: [UInt8], version: String) {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :252:8\n |\n252 | pub fun changeAdmin(to: Address, newPath: PrivatePath) {\n | ^^^\n\nerror: restricted types have been removed; replace with the concrete type or an equivalent intersection type\n --\u003e :255:38\n |\n255 | .getCapability\u003c\u0026Admin{AdminCapReceiver}\u003e(FiatToken.AdminCapReceiverPubPath)\n | ^^^^^^^^^^^^^^^^\n\n--\u003e a983fecbed621163.FiatToken\n\nerror: cannot find type in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLPack:23:48\n |\n23 | access(contract) let adminRef : Capability\u003c\u0026FiatToken.Vault\u003e\n | ^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLPack:165:55\n |\n165 | self.adminRef = self.account.capabilities.get\u003c\u0026FiatToken.Vault\u003e(FiatToken.VaultReceiverPubPath)\n | ^^^^^^^^^ not found in this scope\n\nerror: cannot find variable in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLPack:165:72\n |\n165 | self.adminRef = self.account.capabilities.get\u003c\u0026FiatToken.Vault\u003e(FiatToken.VaultReceiverPubPath)\n | ^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e b39a42479c1c2c77.AFLPack:165:24\n |\n165 | self.adminRef = self.account.capabilities.get\u003c\u0026FiatToken.Vault\u003e(FiatToken.VaultReceiverPubPath)\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find type in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLPack:111:38\n |\n111 | let recipientCollection: \u0026FiatToken.Vault = receiptAccount\n | ^^^^^^^^^ not found in this scope\n\nerror: cannot find type in this scope: `FiatToken`\n --\u003e b39a42479c1c2c77.AFLPack:112:35\n |\n112 | .capabilities.get\u003c\u0026FiatToken.Vault\u003e(/public/FiatTokenVaultReceiver)\n | ^^^^^^^^^ not found in this scope\n\nerror: cannot infer type parameter: `T`\n --\u003e b39a42479c1c2c77.AFLPack:111:56\n |\n111 | let recipientCollection: \u0026FiatToken.Vault = receiptAccount\n112 | .capabilities.get\u003c\u0026FiatToken.Vault\u003e(/public/FiatTokenVaultReceiver)\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot infer type parameter: `T`\n --\u003e b39a42479c1c2c77.AFLPack:111:56\n |\n111 | let recipientCollection: \u0026FiatToken.Vault = receiptAccount\n112 | .capabilities.get\u003c\u0026FiatToken.Vault\u003e(/public/FiatTokenVaultReceiver)\n113 | .borrow()\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n"},{"kind":"contract-update-success","account_address":"0xb39a42479c1c2c77","contract_name":"PackRestrictions"},{"kind":"contract-update-success","account_address":"0xb39a42479c1c2c77","contract_name":"StorageHelper"},{"kind":"contract-update-success","account_address":"0x628992a07cb07272","contract_name":"MatrixWorldVoucher"},{"kind":"contract-update-success","account_address":"0x072127280188a611","contract_name":"TestRootContract"},{"kind":"contract-update-success","account_address":"0xb45e7992680a0f7f","contract_name":"CricketMoments"},{"kind":"contract-update-success","account_address":"0xb45e7992680a0f7f","contract_name":"CricketMomentsShardedCollection"},{"kind":"contract-update-success","account_address":"0xb45e7992680a0f7f","contract_name":"FazeUtilityCoin"},{"kind":"contract-update-failure","account_address":"0xf8e0eab3a87cbf49","contract_name":"ExampleNFT","error":"error: error getting program f8e0eab3a87cbf49.ExampleDependency: failed to derive value: load program failed: Parsing failed:\nerror: `pub` is no longer a valid access keyword\n --\u003e :1:0\n |\n1 | pub contract ExampleDependency {\n | ^^^\n\nerror: `pub` is no longer a valid access keyword\n --\u003e :2:4\n |\n2 | pub let test: Int\n | ^^^\n\n--\u003e f8e0eab3a87cbf49.ExampleDependency\n\nerror: cannot find type in this scope: `NonFungibleToken.Owner`\n --\u003e f8e0eab3a87cbf49.ExampleNFT:161:43\n |\n161 | access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {\n | ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: resource `ExampleNFT.Collection` does not conform to resource interface `NonFungibleToken.Collection`\n --\u003e f8e0eab3a87cbf49.ExampleNFT:128:25\n |\n128 | access(all) resource Collection: NonFungibleToken.Collection {\n | ^\n ... \n |\n131 | access(contract) var ownedNFTs: @{UInt64: ExampleNFT.NFT}\n | --------- mismatch here\n\nerror: resource `ExampleNFT.Collection` does not conform to resource interface `NonFungibleToken.Collection`\n --\u003e f8e0eab3a87cbf49.ExampleNFT:128:25\n |\n128 | access(all) resource Collection: NonFungibleToken.Collection {\n | ^\n ... \n |\n161 | access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {\n | -------- mismatch here\n"},{"kind":"contract-update-success","account_address":"0x08b1f9c0bc04f36f","contract_name":"IconoGraphika"},{"kind":"contract-update-success","account_address":"0xc20df20fabe06457","contract_name":"SwapPair"},{"kind":"contract-update-success","account_address":"0x6f16b5a358ec0246","contract_name":"otanicloth_NFT"},{"kind":"contract-update-success","account_address":"0xd8f6346999b983f5","contract_name":"IPackNFT"},{"kind":"contract-update-success","account_address":"0xf3e8f8ae2e9e2fec","contract_name":"giglabs_NFT"},{"kind":"contract-update-success","account_address":"0x683564e46977788a","contract_name":"MFLAdmin"},{"kind":"contract-update-success","account_address":"0x683564e46977788a","contract_name":"MFLClub"},{"kind":"contract-update-success","account_address":"0x683564e46977788a","contract_name":"MFLPack"},{"kind":"contract-update-success","account_address":"0x683564e46977788a","contract_name":"MFLPackTemplate"},{"kind":"contract-update-success","account_address":"0x683564e46977788a","contract_name":"MFLPlayer"},{"kind":"contract-update-success","account_address":"0x683564e46977788a","contract_name":"MFLViews"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"ACCO_SOLEIL"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"AIICOSMPLG"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"AUGUSTUS1"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"BFD"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"BTC"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"BYPRODUCT"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"DOGETKN"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"DUNK"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"DWLC"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"EBISU"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"ECO"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"EDGE"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"ELEMENT"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"ExampleNFT"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"H442T04"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"H442T05"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"HowardNFT"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"IAT"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"JOSHIN"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"KARAT1AUAXQ"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"KOZO"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"Karat"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"KaratNFT"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"Karatv2"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"MARK"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"MARKIE"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"MARKIE2"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"MARKIE3"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"MEDI"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"MEGAMI"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"MRFRIENDLY"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"SCARETKN"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"SNAKE"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"SUGOI"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"SUNTORY"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"Sorachi"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"Story"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"TNP"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"TOM"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"TS"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"TSTCON"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"WE_PIN"},{"kind":"contract-update-success","account_address":"0x566c813b3632783e","contract_name":"Z1G2JHB24KARAT"},{"kind":"contract-update-failure","account_address":"0xfa2a6615db587be5","contract_name":"ExampleNFT","error":"error: cannot find type in this scope: `NonFungibleToken.Owner`\n --\u003e fa2a6615db587be5.ExampleNFT:160:43\n |\n160 | access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {\n | ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope\n\nerror: resource `ExampleNFT.Collection` does not conform to resource interface `NonFungibleToken.Collection`\n --\u003e fa2a6615db587be5.ExampleNFT:127:25\n |\n127 | access(all) resource Collection: NonFungibleToken.Collection {\n | ^\n ... \n |\n130 | access(contract) var ownedNFTs: @{UInt64: ExampleNFT.NFT}\n | --------- mismatch here\n\nerror: resource `ExampleNFT.Collection` does not conform to resource interface `NonFungibleToken.Collection`\n --\u003e fa2a6615db587be5.ExampleNFT:127:25\n |\n127 | access(all) resource Collection: NonFungibleToken.Collection {\n | ^\n ... \n |\n160 | access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {\n | -------- mismatch here\n"},{"kind":"contract-update-success","account_address":"0xa1296b1e2e90ca5b","contract_name":"HelloWorld"},{"kind":"contract-update-success","account_address":"0x6b2e1b9d3c5ac5db","contract_name":"ValueLink_NFTMarketplace_v1"},{"kind":"contract-update-success","account_address":"0x6b2e1b9d3c5ac5db","contract_name":"ValueLink_NFT_v1"},{"kind":"contract-update-success","account_address":"0x2ceae959ed1a7e7a","contract_name":"MigrationContractStaging"},{"kind":"contract-update-success","account_address":"0x324c34e1c517e4db","contract_name":"NFTCatalog"},{"kind":"contract-update-success","account_address":"0x324c34e1c517e4db","contract_name":"NFTCatalogAdmin"},{"kind":"contract-update-success","account_address":"0x324c34e1c517e4db","contract_name":"NFTRetrieval"},{"kind":"contract-update-success","account_address":"0xddb929038d45d4b3","contract_name":"SwapConfig"},{"kind":"contract-update-success","account_address":"0xddb929038d45d4b3","contract_name":"SwapError"},{"kind":"contract-update-success","account_address":"0xddb929038d45d4b3","contract_name":"SwapInterfaces"},{"kind":"contract-update-success","account_address":"0x74daa6f9c7ef24b1","contract_name":"FCLCrypto"},{"kind":"contract-update-success","account_address":"0xb051bdaddb672a33","contract_name":"DNAHandler"},{"kind":"contract-update-success","account_address":"0xb051bdaddb672a33","contract_name":"FlowtyListingCallback"},{"kind":"contract-update-success","account_address":"0xb051bdaddb672a33","contract_name":"FlowtyUtils"},{"kind":"contract-update-success","account_address":"0xb051bdaddb672a33","contract_name":"FlowtyViews"},{"kind":"contract-update-success","account_address":"0xb051bdaddb672a33","contract_name":"NFTStorefrontV2"},{"kind":"contract-update-success","account_address":"0xb051bdaddb672a33","contract_name":"Permitted"},{"kind":"contract-update-success","account_address":"0xb051bdaddb672a33","contract_name":"RoyaltiesOverride"},{"kind":"contract-update-success","account_address":"0x1c5033ad60821c97","contract_name":"Admin"},{"kind":"contract-update-success","account_address":"0x1c5033ad60821c97","contract_name":"Clock"},{"kind":"contract-update-success","account_address":"0x1c5033ad60821c97","contract_name":"Debug"},{"kind":"contract-update-success","account_address":"0x1c5033ad60821c97","contract_name":"DoodleNames"},{"kind":"contract-update-success","account_address":"0x1c5033ad60821c97","contract_name":"DoodlePackTypes"},{"kind":"contract-update-success","account_address":"0x1c5033ad60821c97","contract_name":"DoodlePacks"},{"kind":"contract-update-success","account_address":"0x1c5033ad60821c97","contract_name":"Doodles"},{"kind":"contract-update-success","account_address":"0x1c5033ad60821c97","contract_name":"GenesisBoxRegistry"},{"kind":"contract-update-success","account_address":"0x1c5033ad60821c97","contract_name":"OpenDoodlePacks"},{"kind":"contract-update-success","account_address":"0x1c5033ad60821c97","contract_name":"Random"},{"kind":"contract-update-success","account_address":"0x1c5033ad60821c97","contract_name":"Redeemables"},{"kind":"contract-update-success","account_address":"0x1c5033ad60821c97","contract_name":"Teleport"},{"kind":"contract-update-success","account_address":"0x1c5033ad60821c97","contract_name":"Templates"},{"kind":"contract-update-success","account_address":"0x1c5033ad60821c97","contract_name":"TransactionsRegistry"},{"kind":"contract-update-success","account_address":"0x1c5033ad60821c97","contract_name":"Wearables"},{"kind":"contract-update-success","account_address":"0x06f1e5cde6db0e70","contract_name":"DropFactory"},{"kind":"contract-update-success","account_address":"0x06f1e5cde6db0e70","contract_name":"FlowtyAddressVerifiers"},{"kind":"contract-update-success","account_address":"0x06f1e5cde6db0e70","contract_name":"FlowtyDrops"},{"kind":"contract-update-success","account_address":"0x06f1e5cde6db0e70","contract_name":"FlowtyPricers"},{"kind":"contract-update-success","account_address":"0x06f1e5cde6db0e70","contract_name":"FlowtySwitchers"},{"kind":"contract-update-success","account_address":"0xad26718c4b6b921b","contract_name":"BlackHole"},{"kind":"contract-update-success","account_address":"0x3286bb76e4e115fe","contract_name":"Boneyard"},{"kind":"contract-update-success","account_address":"0x2a9b59c3e2b72ee0","contract_name":"OracleConfig"},{"kind":"contract-update-success","account_address":"0x2a9b59c3e2b72ee0","contract_name":"OracleInterface"},{"kind":"contract-update-success","account_address":"0x2d766f00eb1d0c37","contract_name":"PriceOracle"},{"kind":"contract-update-success","account_address":"0x97d2f3b55c6a6a75","contract_name":"LendingPool"},{"kind":"contract-update-success","account_address":"0xf8ba321af4bd37bb","contract_name":"aiSportsMinter"},{"kind":"contract-update-success","account_address":"0x195caada038c5806","contract_name":"BarterYardClubWerewolf"},{"kind":"contract-update-success","account_address":"0x195caada038c5806","contract_name":"BarterYardStats"},{"kind":"contract-update-success","account_address":"0x294e44e1ec6993c6","contract_name":"CapabilityDelegator"},{"kind":"contract-update-success","account_address":"0x294e44e1ec6993c6","contract_name":"CapabilityFactory"},{"kind":"contract-update-success","account_address":"0x294e44e1ec6993c6","contract_name":"CapabilityFilter"},{"kind":"contract-update-success","account_address":"0x294e44e1ec6993c6","contract_name":"FTAllFactory"},{"kind":"contract-update-success","account_address":"0x294e44e1ec6993c6","contract_name":"FTBalanceFactory"},{"kind":"contract-update-success","account_address":"0x294e44e1ec6993c6","contract_name":"FTProviderFactory"},{"kind":"contract-update-success","account_address":"0x294e44e1ec6993c6","contract_name":"FTReceiverBalanceFactory"},{"kind":"contract-update-success","account_address":"0x294e44e1ec6993c6","contract_name":"FTReceiverFactory"},{"kind":"contract-update-success","account_address":"0x294e44e1ec6993c6","contract_name":"HybridCustody"},{"kind":"contract-update-success","account_address":"0x294e44e1ec6993c6","contract_name":"NFTCollectionPublicFactory"},{"kind":"contract-update-success","account_address":"0x294e44e1ec6993c6","contract_name":"NFTProviderAndCollectionFactory"},{"kind":"contract-update-success","account_address":"0x294e44e1ec6993c6","contract_name":"NFTProviderFactory"},{"kind":"contract-update-success","account_address":"0x917db7072ed7160b","contract_name":"Cryptoys"},{"kind":"contract-update-success","account_address":"0x917db7072ed7160b","contract_name":"CryptoysMetadataView2"},{"kind":"contract-update-success","account_address":"0x917db7072ed7160b","contract_name":"ICryptoys"},{"kind":"contract-update-success","account_address":"0xe223d8a629e49c68","contract_name":"FUSD"},{"kind":"contract-update-success","account_address":"0x23031fd14bb0f21b","contract_name":"TwoSegmentsInterestRateModel"},{"kind":"contract-update-success","account_address":"0x668b91e2995c2eba","contract_name":"PrivateReceiverForwarder"},{"kind":"contract-update-success","account_address":"0x51ea0e37c27a1f1a","contract_name":"TokenForwarding"},{"kind":"contract-update-success","account_address":"0x58b60c5240d3f39b","contract_name":"PackNFT"},{"kind":"contract-update-success","account_address":"0x58b60c5240d3f39b","contract_name":"TicalUniverse"},{"kind":"contract-update-success","account_address":"0x58b60c5240d3f39b","contract_name":"TuneGO"},{"kind":"contract-update-success","account_address":"0x58b60c5240d3f39b","contract_name":"TuneGONFTV5"},{"kind":"contract-update-success","account_address":"0x94b84d0c11a22404","contract_name":"TopShotShardedCollection"},{"kind":"contract-update-success","account_address":"0x44ef9309713e2061","contract_name":"StakingError"},{"kind":"contract-update-success","account_address":"0x44ef9309713e2061","contract_name":"StakingNFT"},{"kind":"contract-update-success","account_address":"0x894269f57ac04a6e","contract_name":"FlowtyRaffleSource"},{"kind":"contract-update-success","account_address":"0x894269f57ac04a6e","contract_name":"FlowtyRaffles"},{"kind":"contract-update-failure","account_address":"0xbd327ae7428784b5","contract_name":"FlowEVMBridgeHandlerInterfaces","error":"error: trying to convert contract interface `FlowEVMBridgeHandlerInterfaces` to a contract\n --\u003e bd327ae7428784b5.FlowEVMBridgeHandlerInterfaces:12:21\n |\n12 | access(all) contract FlowEVMBridgeHandlerInterfaces {\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n"},{"kind":"contract-update-success","account_address":"0xdfc20aee650fcbdf","contract_name":"FlowEVMBridgeHandlerInterfaces"},{"kind":"contract-update-success","account_address":"0x9e324d8ae3cbd0f0","contract_name":"LendingPool"},{"kind":"contract-update-success","account_address":"0x43ee8c22fcf94ea3","contract_name":"DapperStorageRent"},{"kind":"contract-update-success","account_address":"0xef4cd3d07a7b43ce","contract_name":"IPackNFT"},{"kind":"contract-update-success","account_address":"0xef4cd3d07a7b43ce","contract_name":"PDS"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"Admin"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"CharityNFT"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"Clock"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"Dandy"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"Debug"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FIND"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FINDNFTCatalog"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FINDNFTCatalogAdmin"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FTRegistry"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindAirdropper"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindForge"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindForgeOrder"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindForgeStruct"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindFurnace"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindLeaseMarket"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindLeaseMarketAuctionSoft"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindLeaseMarketDirectOfferSoft"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindLeaseMarketSale"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindLostAndFoundWrapper"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindMarket"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindMarketAdmin"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindMarketAuctionEscrow"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindMarketAuctionSoft"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindMarketCut"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindMarketCutInterface"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindMarketCutStruct"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindMarketDirectOfferEscrow"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindMarketDirectOfferSoft"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindMarketInfrastructureCut"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindMarketSale"},{"kind":"contract-update-failure","account_address":"0x35717efbbce11c74","contract_name":"FindPack","error":"error: mismatching field `providerCaps` in `Metadata`\n --\u003e 35717efbbce11c74.FindPack:343:43\n |\n343 | access(contract) let providerCaps: {Type : Capability\u003cauth (NonFungibleToken.Withdraw) \u0026{NonFungibleToken.Collection}\u003e}\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ incompatible type annotations. expected `{NonFungibleToken.Provider, MetadataViews.ResolverCollection}`, found `{NonFungibleToken.Collection}`\n\nerror: conformances do not match in `FindPack`: missing `A.631e88ae7f1d7c20.NonFungibleToken`\n --\u003e 35717efbbce11c74.FindPack:12:21\n |\n12 | access(all) contract FindPack {\n | ^^^^^^^^\n"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindRelatedAccounts"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindRulesCache"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindThoughts"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindUtils"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindVerifier"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"FindViews"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"NameVoucher"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"Profile"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"ProfileCache"},{"kind":"contract-update-success","account_address":"0x35717efbbce11c74","contract_name":"Sender"}] \ No newline at end of file diff --git a/migrations_data/staged-contracts-report-2024-06-19T12-31-00Z-testnet.md b/migrations_data/staged-contracts-report-2024-06-19T12-31-00Z-testnet.md new file mode 100644 index 0000000000..6950dd8c55 --- /dev/null +++ b/migrations_data/staged-contracts-report-2024-06-19T12-31-00Z-testnet.md @@ -0,0 +1,464 @@ +## Cadence 1.0 staged contracts migration results +Date: 20 June, 2024 + +> [!CAUTION] +> **IMPORTANT SECURITY NOTICE** +> +> Some staged contracts might be insecure due to incorrect access modifiers usage. +> Please make sure you have carefully reviewed and understood the section of [Cadence Migration Guide on Access Modifiers](https://cadence-lang.org/docs/cadence-migration-guide/nft-guide#update-all-pub-access-modfiers) + +* Stats: 440 contracts staged, 409 successfully upgraded, 31 failed to upgrade +* Testnet State Snapshot: devnet50-execution-snapshot-for-migration-12-jun-19 +* Flow-go build: v0.35.15-crescendo-preview.28-atree-inlining + +> [!NOTE] +> Developers can use Crescendo migration environment to test your migrated dapp! We notify the community in [Discord Developer Updates channel](https://discord.com/channels/613813861610684416/811693600403357706) when the environment is available for testing after migration. The Access node endpoint for the migration environment is: `access-001.migrationtestnet1.nodes.onflow.org:9000` for the gRPC API and `https://rest-migrationtestnet.onflow.org/v1/` for the REST API. + +**Useful Tools / Links** +* [View contracts staged on Testnet](https://f.dnz.dev/0x2ceae959ed1a7e7a/) +* [Great community tool to view up-to-date staging status](https://staging.dnz.dev/) + +### Migration Report + +|Account Address | Contract Name | Status | +| --- | --- | --- | +| 0x6b7930acbcd12877 | Cryptoys | ✅ | +| 0x6b7930acbcd12877 | CryptoysMetadataView2 | ✅ | +| 0x4dfd62c88d1b6462 | AllDay | ✅ | +| 0x4dfd62c88d1b6462 | PackNFT | ❌

Error:
error: resource \`PackNFT.Collection\` does not conform to resource interface \`IPackNFT.IPackNFTCollectionPublic\`
--\> 4dfd62c88d1b6462.PackNFT:299:25
\|
299 \| access(all) resource Collection: NonFungibleToken.Collection,ViewResolver.ResolverCollection, IPackNFT.IPackNFTCollectionPublic {
\| ^ \`PackNFT.Collection\` is missing definitions for members: \`emitRevealRequestEvent\`, \`emitOpenRequestEvent\`
| +| 0x6b7930acbcd12877 | ICryptoys | ✅ | +| 0x34f3140b7f54c743 | CricketMoments | ✅ | +| 0x34f3140b7f54c743 | CricketMomentsShardedCollection | ✅ | +| 0x34f3140b7f54c743 | FazeUtilityCoin | ✅ | +| 0x2d0d952e760d1770 | CricketMoments | ✅ | +| 0x2d0d952e760d1770 | CricketMomentsShardedCollection | ✅ | +| 0x2d0d952e760d1770 | FazeUtilityCoin | ✅ | +| 0x520a7157e1b964ed | ShebaHopeGrows | ✅ | +| 0x99ca04281098b33d | Art | ✅ | +| 0x99ca04281098b33d | Auction | ✅ | +| 0x99ca04281098b33d | Content | ✅ | +| 0x99ca04281098b33d | Marketplace | ✅ | +| 0x99ca04281098b33d | Profile | ✅ | +| 0x99ca04281098b33d | Versus | ✅ | +| 0xcc4e949596cf8ced | TwoSegmentsInterestRateModel | ✅ | +| 0x24650d6246d4176c | PriceOracle | ✅ | +| 0x2299f74679d9c88a | A | ✅ | +| 0x8c55fba7d7090fee | Magnetiq | ✅ | +| 0x8c55fba7d7090fee | MagnetiqLocking | ✅ | +| 0xd704ee8202a0d82d | ExampleNFT | ✅ | +| 0x82ec283f88a62e65 | DapperUtilityCoin | ✅ | +| 0x82ec283f88a62e65 | FlowUtilityToken | ✅ | +| 0x8aaca41f09eb1e3d | LendingPool | ✅ | +| 0xf28310b45fc6b319 | ExampleNFT | ❌

Error:
error: cannot find type in this scope: \`NonFungibleToken.Owner\`
--\> f28310b45fc6b319.ExampleNFT:161:43
\|
161 \| access(NonFungibleToken.Withdraw \| NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {
\| ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`NonFungibleToken.Owner\`
--\> f28310b45fc6b319.ExampleNFT:183:60
\|
183 \| let authTokenRef = (&self.ownedNFTs\$&id\$& as auth(NonFungibleToken.Owner) &{NonFungibleToken.NFT}?)!
\| ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: mismatched types
--\> f28310b45fc6b319.ExampleNFT:185:38
\|
185 \| ExampleNFT.emitNFTUpdated(authTokenRef)
\| ^^^^^^^^^^^^ expected \`auth(NonFungibleToken.Update) &{NonFungibleToken.NFT}\`, got \`auth(NonFungibleToken) &{NonFungibleToken.NFT}\`

error: resource \`ExampleNFT.Collection\` does not conform to resource interface \`NonFungibleToken.Collection\`
--\> f28310b45fc6b319.ExampleNFT:134:25
\|
134 \| access(all) resource Collection: NonFungibleToken.Collection, ExampleNFTCollectionPublic {
\| ^
...
\|
137 \| access(contract) var ownedNFTs: @{UInt64: {NonFungibleToken.NFT}}
\| \-\-\-\-\-\-\-\-\- mismatch here

error: resource \`ExampleNFT.Collection\` does not conform to resource interface \`NonFungibleToken.Collection\`
--\> f28310b45fc6b319.ExampleNFT:134:25
\|
134 \| access(all) resource Collection: NonFungibleToken.Collection, ExampleNFTCollectionPublic {
\| ^
...
\|
161 \| access(NonFungibleToken.Withdraw \| NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {
\| \-\-\-\-\-\-\-\- mismatch here
| +| 0xe1d43e0cfc237807 | Flowty | ✅ | +| 0xe1d43e0cfc237807 | FlowtyRentals | ✅ | +| 0xe1d43e0cfc237807 | RoyaltiesLedger | ✅ | +| 0xb86f928a1fa7798e | FTViewUtils | ✅ | +| 0xb86f928a1fa7798e | TokenList | ✅ | +| 0x2dcd833119c0570c | toddnewstaging2_NFT | ✅ | +| 0xb86f928a1fa7798e | ViewResolvers | ✅ | +| 0x7745157792470296 | LendingOracle | ✅ | +| 0xa63ecf66edb620ef | ZeedzINO | ✅ | +| 0xd35bad52c7e1ab65 | ZeedzINO | ❌

Error:
error: cannot find type in this scope: \`NonFungibleToken.Owner\`
--\> d35bad52c7e1ab65.ZeedzINO:207:43
\|
207 \| access(NonFungibleToken.Withdraw \| NonFungibleToken.Owner) fun burn(burnID: UInt64)
\| ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`NonFungibleToken.Owner\`
--\> d35bad52c7e1ab65.ZeedzINO:208:43
\|
208 \| access(NonFungibleToken.Withdraw \| NonFungibleToken.Owner) fun redeem(redeemID: UInt64, message: String)
\| ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`NonFungibleToken.Owner\`
--\> d35bad52c7e1ab65.ZeedzINO:218:43
\|
218 \| access(NonFungibleToken.Withdraw \| NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {
\| ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`NonFungibleToken.Owner\`
--\> d35bad52c7e1ab65.ZeedzINO:224:43
\|
224 \| access(NonFungibleToken.Withdraw \| NonFungibleToken.Owner) fun burn(burnID: UInt64){
\| ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`NonFungibleToken.Owner\`
--\> d35bad52c7e1ab65.ZeedzINO:234:43
\|
234 \| access(NonFungibleToken.Withdraw \| NonFungibleToken.Owner) fun redeem(redeemID: UInt64, message: String){
\| ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: resource \`ZeedzINO.Collection\` does not conform to resource interface \`NonFungibleToken.Collection\`
--\> d35bad52c7e1ab65.ZeedzINO:214:25
\|
214 \| access(all) resource Collection: NonFungibleToken.Collection, ZeedzCollectionPublic, ZeedzCollectionPrivate {
\| ^
...
\|
218 \| access(NonFungibleToken.Withdraw \| NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {
\| \-\-\-\-\-\-\-\- mismatch here

error: resource \`ZeedzINO.Collection\` does not conform to resource interface \`ZeedzINO.ZeedzCollectionPrivate\`
--\> d35bad52c7e1ab65.ZeedzINO:214:25
\|
214 \| access(all) resource Collection: NonFungibleToken.Collection, ZeedzCollectionPublic, ZeedzCollectionPrivate {
\| ^
...
\|
224 \| access(NonFungibleToken.Withdraw \| NonFungibleToken.Owner) fun burn(burnID: UInt64){
\| \-\-\-\- mismatch here
...
\|
234 \| access(NonFungibleToken.Withdraw \| NonFungibleToken.Owner) fun redeem(redeemID: UInt64, message: String){
\| \-\-\-\-\-\- mismatch here
| +| 0x8bc9e24c307d249b | LendingConfig | ✅ | +| 0x8bc9e24c307d249b | LendingError | ✅ | +| 0x8bc9e24c307d249b | LendingInterfaces | ✅ | +| 0x9680721e43087f43 | DropTypes | ✅ | +| 0x9d96fa5f60093c18 | A | ✅ | +| 0x9d96fa5f60093c18 | B | ✅ | +| 0x7dc7430a06f38af3 | ZeedzINO | ✅ | +| 0x94b06cfca1d8a476 | NFTStorefront | ✅ | +| 0xb668e8c9726ef26b | FanTopMarket | ✅ | +| 0xb668e8c9726ef26b | FanTopPermission | ✅ | +| 0xb668e8c9726ef26b | FanTopPermissionV2a | ✅ | +| 0xb668e8c9726ef26b | FanTopSerial | ✅ | +| 0xb668e8c9726ef26b | FanTopToken | ✅ | +| 0xb668e8c9726ef26b | Signature | ✅ | +| 0xcbed4c301441ded2 | StableSwapFactory | ✅ | +| 0xcbed4c301441ded2 | SwapFactory | ✅ | +| 0x8d5aac1da9c370bc | A | ✅ | +| 0x8d5aac1da9c370bc | B | ✅ | +| 0x8d5aac1da9c370bc | Contract | ✅ | +| 0x31ad40c07a2a9788 | AddressUtils | ✅ | +| 0x31ad40c07a2a9788 | ArrayUtils | ✅ | +| 0x31ad40c07a2a9788 | ScopedFTProviders | ✅ | +| 0x31ad40c07a2a9788 | ScopedNFTProviders | ✅ | +| 0x31ad40c07a2a9788 | StringUtils | ✅ | +| 0x2f8af5ed05bbde0d | SwapRouter | ✅ | +| 0x74ad08095d92192a | ETHUtils | ✅ | +| 0x74ad08095d92192a | EVMAgent | ✅ | +| 0x74ad08095d92192a | FGameLottery | ✅ | +| 0x74ad08095d92192a | FGameLotteryFactory | ✅ | +| 0x74ad08095d92192a | FGameLotteryRegistry | ✅ | +| 0x74ad08095d92192a | FGameRugRoyale | ✅ | +| 0x74ad08095d92192a | FRC20AccountsPool | ✅ | +| 0x74ad08095d92192a | FRC20Agents | ✅ | +| 0x74ad08095d92192a | FRC20Converter | ✅ | +| 0x74ad08095d92192a | FRC20FTShared | ✅ | +| 0x74ad08095d92192a | FRC20FungibleToken | ✅ | +| 0x74ad08095d92192a | FRC20Indexer | ✅ | +| 0x74ad08095d92192a | FRC20MarketManager | ✅ | +| 0x74ad08095d92192a | FRC20Marketplace | ✅ | +| 0x74ad08095d92192a | FRC20NFTWrapper | ✅ | +| 0x74ad08095d92192a | FRC20SemiNFT | ✅ | +| 0x74ad08095d92192a | FRC20Staking | ✅ | +| 0x74ad08095d92192a | FRC20StakingForwarder | ✅ | +| 0x74ad08095d92192a | FRC20StakingManager | ✅ | +| 0x74ad08095d92192a | FRC20StakingVesting | ✅ | +| 0x74ad08095d92192a | FRC20Storefront | ✅ | +| 0x74ad08095d92192a | FRC20TradingRecord | ✅ | +| 0x74ad08095d92192a | FRC20VoteCommands | ✅ | +| 0x74ad08095d92192a | FRC20Votes | ✅ | +| 0xc15e75b5f6b95e54 | LendingComptroller | ✅ | +| 0x74ad08095d92192a | Fixes | ✅ | +| 0x74ad08095d92192a | FixesAssetMeta | ✅ | +| 0x74ad08095d92192a | FixesAvatar | ✅ | +| 0x74ad08095d92192a | FixesBondingCurve | ✅ | +| 0x74ad08095d92192a | FixesFungibleToken | ✅ | +| 0x74ad08095d92192a | FixesFungibleTokenInterface | ✅ | +| 0x74ad08095d92192a | FixesHeartbeat | ✅ | +| 0x74ad08095d92192a | FixesInscriptionFactory | ✅ | +| 0x74ad08095d92192a | FixesTokenAirDrops | ✅ | +| 0x74ad08095d92192a | FixesTokenLockDrops | ✅ | +| 0x74ad08095d92192a | FixesTradablePool | ✅ | +| 0x74ad08095d92192a | FixesTraits | ✅ | +| 0x74ad08095d92192a | FixesWrappedNFT | ✅ | +| 0x74ad08095d92192a | FungibleTokenManager | ✅ | +| 0x92362a384f409a52 | TrmAssetV2_2 | ✅ | +| 0x92362a384f409a52 | TrmMarketV2_2 | ✅ | +| 0x92362a384f409a52 | TrmRentV2_2 | ✅ | +| 0x547f177b243b4d80 | Market | ✅ | +| 0x547f177b243b4d80 | TopShotMarketV3 | ✅ | +| 0x8770564d92180608 | TrmAssetV2_2 | ✅ | +| 0x8770564d92180608 | TrmMarketV2_2 | ✅ | +| 0x8770564d92180608 | TrmRentV2_2 | ✅ | +| 0x723a1b50e1d67e8e | TuneGONFT | ✅ | +| 0xdad0aaa285a25413 | PriceOracle | ✅ | +| 0x8a5f647e58dde1ee | DapperOffersV2 | ✅ | +| 0x8a5f647e58dde1ee | OffersV2 | ✅ | +| 0x8a5f647e58dde1ee | Resolver | ✅ | +| 0xcbdb5a7b89c3c844 | PriceOracle | ✅ | +| 0x877931736ee77cff | PackNFT | ❌

Error:
error: resource \`PackNFT.Collection\` does not conform to resource interface \`IPackNFT.IPackNFTCollectionPublic\`
--\> 877931736ee77cff.PackNFT:299:25
\|
299 \| access(all) resource Collection: NonFungibleToken.Collection, IPackNFT.IPackNFTCollectionPublic, ViewResolver.ResolverCollection {
\| ^ \`PackNFT.Collection\` is missing definitions for members: \`emitRevealRequestEvent\`, \`emitOpenRequestEvent\`
| +| 0x877931736ee77cff | TopShot | ✅ | +| 0x877931736ee77cff | TopShotLocking | ✅ | +| 0x2bd8210db3a8fe8a | NFTLocking | ✅ | +| 0x2bd8210db3a8fe8a | Swap | ✅ | +| 0x2bd8210db3a8fe8a | SwapArchive | ✅ | +| 0x2bd8210db3a8fe8a | SwapStats | ✅ | +| 0x2bd8210db3a8fe8a | SwapStatsRegistry | ✅ | +| 0x2bd8210db3a8fe8a | Utils | ✅ | +| 0x8b47f4dd22afee8d | MetadataViews | ❌

Error:
error: missing resource interface declaration \`Resolver\`
--\> 8b47f4dd22afee8d.MetadataViews:15:21
\|
15 \| access(all) contract MetadataViews {
\| ^^^^^^^^^^^^^

error: missing resource interface declaration \`ResolverCollection\`
--\> 8b47f4dd22afee8d.MetadataViews:15:21
\|
15 \| access(all) contract MetadataViews {
\| ^^^^^^^^^^^^^
| +| 0x8b47f4dd22afee8d | TrmAssetMSV1_0 | ✅ | +| 0xbe4635353f55bbd4 | FeeEstimator | ✅ | +| 0xbe4635353f55bbd4 | LostAndFound | ✅ | +| 0xbe4635353f55bbd4 | LostAndFoundHelper | ✅ | +| 0xab2d22248a619d77 | MetadataViews | ❌

Error:
error: missing resource interface declaration \`Resolver\`
--\> ab2d22248a619d77.MetadataViews:15:21
\|
15 \| access(all) contract MetadataViews {
\| ^^^^^^^^^^^^^

error: missing resource interface declaration \`ResolverCollection\`
--\> ab2d22248a619d77.MetadataViews:15:21
\|
15 \| access(all) contract MetadataViews {
\| ^^^^^^^^^^^^^
| +| 0xab2d22248a619d77 | TrmAssetMSV1_0 | ✅ | +| 0xab2d22248a619d77 | TrmAssetMSV2_0 | ✅ | +| 0x3870b3d38f83ae4c | FiatToken | ❌

Error:
error: missing resource declaration \`Admin\`
--\> 3870b3d38f83ae4c.FiatToken:7:21
\|
7 \| access(all) contract FiatToken: FungibleToken {
\| ^^^^^^^^^

error: missing resource declaration \`AdminExecutor\`
--\> 3870b3d38f83ae4c.FiatToken:7:21
\|
7 \| access(all) contract FiatToken: FungibleToken {
\| ^^^^^^^^^

error: missing resource declaration \`BlocklistExecutor\`
--\> 3870b3d38f83ae4c.FiatToken:7:21
\|
7 \| access(all) contract FiatToken: FungibleToken {
\| ^^^^^^^^^

error: missing resource declaration \`Blocklister\`
--\> 3870b3d38f83ae4c.FiatToken:7:21
\|
7 \| access(all) contract FiatToken: FungibleToken {
\| ^^^^^^^^^

error: missing resource declaration \`MasterMinter\`
--\> 3870b3d38f83ae4c.FiatToken:7:21
\|
7 \| access(all) contract FiatToken: FungibleToken {
\| ^^^^^^^^^

error: missing resource declaration \`MasterMinterExecutor\`
--\> 3870b3d38f83ae4c.FiatToken:7:21
\|
7 \| access(all) contract FiatToken: FungibleToken {
\| ^^^^^^^^^

error: missing resource declaration \`Minter\`
--\> 3870b3d38f83ae4c.FiatToken:7:21
\|
7 \| access(all) contract FiatToken: FungibleToken {
\| ^^^^^^^^^

error: missing resource declaration \`MinterController\`
--\> 3870b3d38f83ae4c.FiatToken:7:21
\|
7 \| access(all) contract FiatToken: FungibleToken {
\| ^^^^^^^^^

error: missing resource declaration \`Owner\`
--\> 3870b3d38f83ae4c.FiatToken:7:21
\|
7 \| access(all) contract FiatToken: FungibleToken {
\| ^^^^^^^^^

error: missing resource declaration \`OwnerExecutor\`
--\> 3870b3d38f83ae4c.FiatToken:7:21
\|
7 \| access(all) contract FiatToken: FungibleToken {
\| ^^^^^^^^^

error: missing resource declaration \`PauseExecutor\`
--\> 3870b3d38f83ae4c.FiatToken:7:21
\|
7 \| access(all) contract FiatToken: FungibleToken {
\| ^^^^^^^^^

error: missing resource declaration \`Pauser\`
--\> 3870b3d38f83ae4c.FiatToken:7:21
\|
7 \| access(all) contract FiatToken: FungibleToken {
\| ^^^^^^^^^
| +| 0x3870b3d38f83ae4c | FlowEVMBridgeHandlerInterfaces | ✅ | +| 0x6f6702697b205c18 | HWGarageCard | ✅ | +| 0x6f6702697b205c18 | HWGarageCardV2 | ✅ | +| 0x6f6702697b205c18 | HWGaragePM | ✅ | +| 0x6f6702697b205c18 | HWGaragePMV2 | ✅ | +| 0x6f6702697b205c18 | HWGaragePack | ✅ | +| 0x6f6702697b205c18 | HWGaragePackV2 | ✅ | +| 0x6f6702697b205c18 | HWGarageTokenV2 | ✅ | +| 0x4ed4b8e5cd0dd15e | PackNFT | ✅ | +| 0xe3faea00c5bb8d7d | TrmAssetV2_2 | ✅ | +| 0xe3faea00c5bb8d7d | TrmMarketV2_2 | ✅ | +| 0xe3faea00c5bb8d7d | TrmRentV2_2 | ✅ | +| 0x3b220a3372190656 | PriceOracle | ✅ | +| 0x9392a4a7c3f49a0b | DummyDustTokenMinter | ❌

Error:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.DummyDustTokenMinter:8:23
\|
8 \| resource DummyMinter: Toucans.Minter{
\| ^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.DummyDustTokenMinter:10:29
\|
10 \| fun mint(amount: UFix64): @FlovatarDustToken.Vault{
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find variable in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.DummyDustTokenMinter:11:12
\|
11 \| return <-FlovatarDustToken.createEmptyDustVault()
\| ^^^^^^^^^^^^^^^^^ not found in this scope
| +| 0x9392a4a7c3f49a0b | Flobot | ❌

Error:
error: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:
error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:31

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:25

--\> 9392a4a7c3f49a0b.FlovatarPack
| +| 0x9392a4a7c3f49a0b | Flovatar | ❌

Error:
error: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:
error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:31

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:25

--\> 9392a4a7c3f49a0b.FlovatarPack

error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarPack\`
--\> 9392a4a7c3f49a0b.Flovatar:1435:144
\|
1435 \| fun createPack(components: @\$&FlovatarComponent.NFT\$&, randomString: String, price: UFix64, sparkCount: UInt32, series: UInt32, name: String): @FlovatarPack.Pack{
\| ^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:365:27
\|
365 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:365:21
\|
365 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:397:27
\|
397 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:397:21
\|
397 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:417:27
\|
417 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:417:21
\|
417 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:434:27
\|
434 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:434:21
\|
434 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:458:27
\|
458 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:458:21
\|
458 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find variable in this scope: \`FlovatarPack\`
--\> 9392a4a7c3f49a0b.Flovatar:1436:12
\|
1436 \| return <-FlovatarPack.createPack(components: <-components, randomString: randomString, price: price, sparkCount: sparkCount, series: series, name: name)
\| ^^^^^^^^^^^^ not found in this scope
| +| 0x9392a4a7c3f49a0b | FlovatarComponent | ✅ | +| 0x9392a4a7c3f49a0b | FlovatarComponentTemplate | ✅ | +| 0x9392a4a7c3f49a0b | FlovatarComponentUpgrader | ❌

Error:
error: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:
error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:31

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:25

--\> 9392a4a7c3f49a0b.FlovatarPack

error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: error getting program 9392a4a7c3f49a0b.FlovatarInbox: failed to derive value: load program failed: Checking failed:
error: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:
error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:31

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:25

--\> 9392a4a7c3f49a0b.FlovatarPack

error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: error getting program 9392a4a7c3f49a0b.Flovatar: failed to derive value: load program failed: Checking failed:
error: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:
error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:31

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:25

--\> 9392a4a7c3f49a0b.FlovatarPack

error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarPack\`
--\> 9392a4a7c3f49a0b.Flovatar:1435:144

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:365:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:365:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:397:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:397:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:417:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:417:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:434:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:434:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:458:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:458:21

error: cannot find variable in this scope: \`FlovatarPack\`
--\> 9392a4a7c3f49a0b.Flovatar:1436:12

--\> 9392a4a7c3f49a0b.Flovatar

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:122:18

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:37:22

error: cannot find variable in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:643:25

error: cannot find variable in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:390:21

error: cannot find variable in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:453:21

error: cannot find variable in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:455:83

error: cannot find variable in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:478:6

error: cannot find variable in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:500:3

error: cannot find variable in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:542:83

error: cannot find variable in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:578:83

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:601:26

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:601:20

error: cannot find variable in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:132:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:235:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:235:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:246:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:246:21

--\> 9392a4a7c3f49a0b.FlovatarInbox

error: error getting program 9392a4a7c3f49a0b.Flovatar: failed to derive value: load program failed: Checking failed:
error: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:
error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:31

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:25

--\> 9392a4a7c3f49a0b.FlovatarPack

error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarPack\`
--\> 9392a4a7c3f49a0b.Flovatar:1435:144

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:365:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:365:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:397:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:397:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:417:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:417:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:434:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:434:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:458:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:458:21

error: cannot find variable in this scope: \`FlovatarPack\`
--\> 9392a4a7c3f49a0b.Flovatar:1436:12

--\> 9392a4a7c3f49a0b.Flovatar

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarComponentUpgrader:202:26
\|
202 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarComponentUpgrader:202:20
\|
202 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find type in this scope: \`FlovatarInbox\`
--\> 9392a4a7c3f49a0b.FlovatarComponentUpgrader:258:65
\|
258 \| self.account.storage.borrow(
\| ^^^^^^^^^^^^^ not found in this scope

error: cannot find variable in this scope: \`FlovatarInbox\`
--\> 9392a4a7c3f49a0b.FlovatarComponentUpgrader:259:11
\|
259 \| from: FlovatarInbox.CollectionStoragePath
\| ^^^^^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarComponentUpgrader:258:4
\|
258 \| self.account.storage.borrow(
259 \| from: FlovatarInbox.CollectionStoragePath
260 \| ){
\| ^
| +| 0x6c35f966375845a6 | TixologiTickets | ✅ | +| 0x9392a4a7c3f49a0b | FlovatarDustCollectible | ❌

Error:
error: error getting program 9392a4a7c3f49a0b.FlovatarDustCollectibleAccessory: failed to derive value: load program failed: Checking failed:
error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectibleAccessory:562:26

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectibleAccessory:562:20

--\> 9392a4a7c3f49a0b.FlovatarDustCollectibleAccessory

error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarDustCollectibleAccessory\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:193:46
\|
193 \| fun setAccessory(layer: UInt32, accessory: @FlovatarDustCollectibleAccessory.NFT): @FlovatarDustCollectibleAccessory.NFT?
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FlovatarDustCollectibleAccessory\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:193:86
\|
193 \| fun setAccessory(layer: UInt32, accessory: @FlovatarDustCollectibleAccessory.NFT): @FlovatarDustCollectibleAccessory.NFT?
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FlovatarDustCollectibleAccessory\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:196:39
\|
196 \| fun removeAccessory(layer: UInt32): @FlovatarDustCollectibleAccessory.NFT?
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FlovatarDustCollectibleAccessory\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:242:29
\|
242 \| let accessories: @{UInt32: FlovatarDustCollectibleAccessory.NFT}
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FlovatarDustCollectibleAccessory\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:400:46
\|
400 \| fun setAccessory(layer: UInt32, accessory: @FlovatarDustCollectibleAccessory.NFT): @FlovatarDustCollectibleAccessory.NFT?{
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FlovatarDustCollectibleAccessory\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:400:86
\|
400 \| fun setAccessory(layer: UInt32, accessory: @FlovatarDustCollectibleAccessory.NFT): @FlovatarDustCollectibleAccessory.NFT?{
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FlovatarDustCollectibleAccessory\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:415:39
\|
415 \| fun removeAccessory(layer: UInt32): @FlovatarDustCollectibleAccessory.NFT?{
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FlovatarDustCollectibleAccessory\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:1068:46
\|
1068 \| fun createCollectible(templateId: UInt64): @FlovatarDustCollectibleAccessory.NFT{
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FlovatarDustCollectibleAccessory\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:1074:70
\|
1074 \| fun batchCreateCollectibles(templateId: UInt64, quantity: UInt64): @FlovatarDustCollectibleAccessory.Collection{
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:930:26
\|
930 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:930:20
\|
930 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:311:27
\|
311 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:311:21
\|
311 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:343:27
\|
343 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:343:21
\|
343 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:370:27
\|
370 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:370:21
\|
370 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find variable in this scope: \`FlovatarDustCollectibleAccessory\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:1069:12
\|
1069 \| return <-FlovatarDustCollectibleAccessory.createCollectibleAccessoryInternal(templateId: templateId)
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find variable in this scope: \`FlovatarDustCollectibleAccessory\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectible:1075:12
\|
1075 \| return <-FlovatarDustCollectibleAccessory.batchCreateCollectibleAccessory(templateId: templateId, quantity: quantity)
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
| +| 0x9392a4a7c3f49a0b | FlovatarDustCollectibleAccessory | ❌

Error:
error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectibleAccessory:562:26
\|
562 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarDustCollectibleAccessory:562:20
\|
562 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| +| 0x9392a4a7c3f49a0b | FlovatarDustCollectibleTemplate | ✅ | +| 0x9392a4a7c3f49a0b | FlovatarDustToken | ❌

Error:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18
\|
286 \| resource Minter: Toucans.Minter{
\| ^^^^^^^ not found in this scope
| +| 0x9392a4a7c3f49a0b | FlovatarInbox | ❌

Error:
error: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:
error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:31

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:25

--\> 9392a4a7c3f49a0b.FlovatarPack

error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: error getting program 9392a4a7c3f49a0b.Flovatar: failed to derive value: load program failed: Checking failed:
error: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:
error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:31

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:25

--\> 9392a4a7c3f49a0b.FlovatarPack

error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarPack\`
--\> 9392a4a7c3f49a0b.Flovatar:1435:144

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:365:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:365:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:397:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:397:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:417:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:417:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:434:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:434:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:458:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:458:21

error: cannot find variable in this scope: \`FlovatarPack\`
--\> 9392a4a7c3f49a0b.Flovatar:1436:12

--\> 9392a4a7c3f49a0b.Flovatar

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:122:18
\|
122 \| let dustVault: @FlovatarDustToken.Vault
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:37:22
\|
37 \| let communityVault: @FlovatarDustToken.Vault
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find variable in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:643:25
\|
643 \| self.communityVault <- FlovatarDustToken.createEmptyDustVault()
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find variable in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:390:21
\|
390 \| if let flovatar = Flovatar.getFlovatar(address: address, flovatarId: id){
\| ^^^^^^^^ not found in this scope

error: cannot find variable in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:453:21
\|
453 \| if let flovatar = Flovatar.getFlovatar(address: address, flovatarId: id){
\| ^^^^^^^^ not found in this scope

error: cannot find variable in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:455:83
\|
455 \| let receiverRef = (receiverAccount.capabilities.get<&{FungibleToken.Receiver}>(FlovatarDustToken.VaultReceiverPath)!).borrow() ?? panic("Could not borrow receiver reference to the recipient's Vault")
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find variable in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:478:6
\|
478 \| FlovatarDustToken.VaultReceiverPath
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find variable in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:500:3
\|
500 \| Flovatar.getFlovatarRarityScore(address: address, flovatarId: id){
\| ^^^^^^^^ not found in this scope

error: cannot find variable in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:542:83
\|
542 \| let receiverRef = (receiverAccount.capabilities.get<&{FungibleToken.Receiver}>(FlovatarDustToken.VaultReceiverPath)!).borrow() ?? panic("Could not borrow receiver reference to the recipient's Vault")
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find variable in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:578:83
\|
578 \| let receiverRef = (receiverAccount.capabilities.get<&{FungibleToken.Receiver}>(FlovatarDustToken.VaultReceiverPath)!).borrow() ?? panic("Could not borrow receiver reference to the recipient's Vault")
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:601:26
\|
601 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:601:20
\|
601 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find variable in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:132:21
\|
132 \| self.dustVault <- FlovatarDustToken.createEmptyDustVault()
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:235:27
\|
235 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:235:21
\|
235 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:246:27
\|
246 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarInbox:246:21
\|
246 \| vault.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| +| 0x9392a4a7c3f49a0b | FlovatarMarketplace | ❌

Error:
error: error getting program 9392a4a7c3f49a0b.Flovatar: failed to derive value: load program failed: Checking failed:
error: error getting program 9392a4a7c3f49a0b.FlovatarPack: failed to derive value: load program failed: Checking failed:
error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:31

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:25

--\> 9392a4a7c3f49a0b.FlovatarPack

error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarPack\`
--\> 9392a4a7c3f49a0b.Flovatar:1435:144

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:365:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:365:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:397:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:397:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:417:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:417:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:434:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:434:21

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.Flovatar:458:27

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.Flovatar:458:21

error: cannot find variable in this scope: \`FlovatarPack\`
--\> 9392a4a7c3f49a0b.Flovatar:1436:12

--\> 9392a4a7c3f49a0b.Flovatar

error: cannot find type in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:66:30
\|
66 \| recipientCap: Capability<&{Flovatar.CollectionPublic}>,
\| ^^^^^^^^ not found in this scope

error: ambiguous intersection type
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:66:29
\|
66 \| recipientCap: Capability<&{Flovatar.CollectionPublic}>,
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find type in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:90:38
\|
90 \| fun getFlovatar(tokenId: UInt64): &{Flovatar.Public}?
\| ^^^^^^^^ not found in this scope

error: ambiguous intersection type
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:90:37
\|
90 \| fun getFlovatar(tokenId: UInt64): &{Flovatar.Public}?
\| ^^^^^^^^^^^^^^^^^

error: cannot find type in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:103:33
\|
103 \| let flovatarForSale: @{UInt64: Flovatar.NFT}
\| ^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:131:42
\|
131 \| fun withdrawFlovatar(tokenId: UInt64): @Flovatar.NFT{
\| ^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:155:34
\|
155 \| fun listFlovatarForSale(token: @Flovatar.NFT, price: UFix64){
\| ^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:202:67
\|
202 \| fun purchaseFlovatar(tokenId: UInt64, recipientCap: Capability<&{Flovatar.CollectionPublic}>, buyTokens: @{FungibleToken.Vault}){
\| ^^^^^^^^ not found in this scope

error: ambiguous intersection type
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:202:66
\|
202 \| fun purchaseFlovatar(tokenId: UInt64, recipientCap: Capability<&{Flovatar.CollectionPublic}>, buyTokens: @{FungibleToken.Vault}){
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find type in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:296:38
\|
296 \| fun getFlovatar(tokenId: UInt64): &{Flovatar.Public}?{
\| ^^^^^^^^ not found in this scope

error: ambiguous intersection type
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:296:37
\|
296 \| fun getFlovatar(tokenId: UInt64): &{Flovatar.Public}?{
\| ^^^^^^^^^^^^^^^^^

error: cannot find type in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:346:13
\|
346 \| metadata: Flovatar.Metadata,
\| ^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:329:16
\|
329 \| let metadata: Flovatar.Metadata
\| ^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:216:30
\|
216 \| if !token.isInstance(Type<@Flovatar.NFT>()){
\| ^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:216:24
\|
216 \| if !token.isInstance(Type<@Flovatar.NFT>()){
\| ^^^^^^^^^^^^^^^^^^^^^

error: cannot find variable in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:221:31
\|
221 \| let creatorAmount = price \* Flovatar.getRoyaltyCut()
\| ^^^^^^^^ not found in this scope

error: cannot find variable in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:225:35
\|
225 \| let marketplaceAmount = price \* Flovatar.getMarketplaceCut()
\| ^^^^^^^^ not found in this scope

error: cannot find variable in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:257:35
\|
257 \| let marketplaceAmount = price \* Flovatar.getMarketplaceCut()
\| ^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:298:50
\|
298 \| let ref = (&self.flovatarForSale\$&tokenId\$& as &Flovatar.NFT?)!
\| ^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`Flovatar\`
--\> 9392a4a7c3f49a0b.FlovatarMarketplace:299:20
\|
299 \| return ref as! &Flovatar.NFT
\| ^^^^^^^^ not found in this scope
| +| 0x9392a4a7c3f49a0b | FlovatarPack | ❌

Error:
error: error getting program 9392a4a7c3f49a0b.FlovatarDustToken: failed to derive value: load program failed: Checking failed:
error: error getting program 918c2008c16da416.Toucans: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :14:0
\|
14 \| pub contract Toucans {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :16:2
\|
16 \| pub let CollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :17:2
\|
17 \| pub let CollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:2
\|
19 \| pub resource interface Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :20:4
\|
20 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :27:2
\|
27 \| pub resource DummyMinter: Minter {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub fun mint(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :33:2
\|
33 \| pub event ProjectCreated(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :39:2
\|
39 \| pub event NewFundingCycle(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:2
\|
49 \| pub event Purchase(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:2
\|
59 \| pub event Donate(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:2
\|
69 \| pub event DonateNFT(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:2
\|
82 \| pub event Withdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:2
\|
90 \| pub event BatchWithdraw(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:2
\|
99 \| pub event WithdrawNFTs(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:2
\|
109 \| pub event Mint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:2
\|
117 \| pub event BatchMint(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:2
\|
126 \| pub event Burn(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:2
\|
133 \| pub event LockTokens(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:2
\|
142 \| pub event StakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :148:2
\|
148 \| pub event UnstakeFlow(
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :154:2
\|
154 \| pub event AddSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :155:2
\|
155 \| pub event RemoveSigner(projectId: String, signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :156:2
\|
156 \| pub event UpdateThreshold(projectId: String, newThreshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :158:2
\|
158 \| pub struct CycleTimeFrame {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :159:4
\|
159 \| pub let startTime: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :160:4
\|
160 \| pub let endTime: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :171:2
\|
171 \| pub struct Payout {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :172:4
\|
172 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :173:4
\|
173 \| pub let percent: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :184:2
\|
184 \| pub struct FundingCycleDetails {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :185:4
\|
185 \| pub let cycleId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :187:4
\|
187 \| pub let fundingTarget: UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :188:4
\|
188 \| pub let issuanceRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :190:4
\|
190 \| pub let reserveRate: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :191:4
\|
191 \| pub let timeframe: CycleTimeFrame
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:4
\|
192 \| pub let payouts: \$&Payout\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :193:4
\|
193 \| pub let allowOverflow: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:4
\|
194 \| pub let allowedAddresses: \$&Address\$&?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :195:4
\|
195 \| pub let catalogCollectionIdentifier: String?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :196:4
\|
196 \| pub let extra: {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :221:2
\|
221 \| pub struct FundingCycle {
\| ^^^

error: \`pub(set)\` is no longer a valid access keyword
--\> :222:4
\|
222 \| pub(set) var details: FundingCycleDetails
\| ^

error: \`pub\` is no longer a valid access keyword
--\> :226:4
\|
226 \| pub var projectTokensAcquired: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :230:4
\|
230 \| pub var raisedDuringRound: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :233:4
\|
233 \| pub var raisedTowardsGoal: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :234:4
\|
234 \| pub let funders: {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :258:2
\|
258 \| pub resource interface ProjectPublic {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :259:4
\|
259 \| pub let projectId: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :260:4
\|
260 \| pub var projectTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :261:4
\|
261 \| pub let paymentTokenInfo: ToucansTokens.TokenInfo
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :262:4
\|
262 \| pub var totalFunding: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :263:4
\|
263 \| pub var editDelay: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :264:4
\|
264 \| pub var purchasing: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :265:4
\|
265 \| pub let minting: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :269:4
\|
269 \| pub fun proposeWithdraw(vaultType: Type, recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :270:4
\|
270 \| pub fun proposeBatchWithdraw(vaultType: Type, recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :271:4
\|
271 \| pub fun proposeWithdrawNFTs(collectionType: Type, recipientCollection: Capability<&{NonFungibleToken.Receiver}>, nftIDs: \$&UInt64\$&, message: String, \_ recipientCollectionBackup: Capability<&{NonFungibleToken.CollectionPublic}>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :272:4
\|
272 \| pub fun proposeMint(recipientVault: Capability<&{FungibleToken.Receiver}>, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :273:4
\|
273 \| pub fun proposeBatchMint(recipientVaults: {Address: Capability<&{FungibleToken.Receiver}>}, amounts: {Address: UFix64})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :274:4
\|
274 \| pub fun proposeMintToTreasury(amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :275:4
\|
275 \| pub fun proposeBurn(tokenType: Type, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :276:4
\|
276 \| pub fun proposeAddSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :277:4
\|
277 \| pub fun proposeRemoveSigner(signer: Address)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :278:4
\|
278 \| pub fun proposeUpdateThreshold(threshold: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :279:4
\|
279 \| pub fun proposeLockTokens(recipient: Address, tokenType: Type, amount: UFix64, unlockTime: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :280:4
\|
280 \| pub fun proposeStakeFlow(flowAmount: UFix64, stFlowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :281:4
\|
281 \| pub fun proposeUnstakeFlow(stFlowAmount: UFix64, flowAmountOutMin: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :284:4
\|
284 \| pub fun finalizeAction(actionUUID: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :285:4
\|
285 \| pub fun donateToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :286:4
\|
286 \| pub fun donateNFTToTreasury(collection: @NonFungibleToken.Collection, sender: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :287:4
\|
287 \| pub fun transferProjectTokenToTreasury(vault: @FungibleToken.Vault, payer: Address, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :288:4
\|
288 \| pub fun purchase(paymentTokens: @FungibleToken.Vault, projectTokenReceiver: &{FungibleToken.Receiver}, message: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :289:4
\|
289 \| pub fun claimOverflow(tokenVault: @FungibleToken.Vault, receiver: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :290:4
\|
290 \| pub fun claimLockedTokens(lockedVaultUuid: UInt64, recipientVault: &{FungibleToken.Receiver})
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :293:4
\|
293 \| pub fun getCurrentIssuanceRate(): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :294:4
\|
294 \| pub fun getCurrentFundingCycle(): FundingCycle?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :295:4
\|
295 \| pub fun getCurrentFundingCycleId(): UInt64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :296:4
\|
296 \| pub fun getFundingCycle(cycleIndex: UInt64): FundingCycle
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :297:4
\|
297 \| pub fun getFundingCycles(): \$&FundingCycle\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :298:4
\|
298 \| pub fun getVaultTypesInTreasury(): \$&Type\$&
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :299:4
\|
299 \| pub fun getVaultBalanceInTreasury(vaultType: Type): UFix64?
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :300:4
\|
300 \| pub fun getExtra(): {String: AnyStruct}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :301:4
\|
301 \| pub fun getCompletedActionIds(): {UInt64: Bool}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :302:4
\|
302 \| pub fun getFunders(): {Address: UFix64}
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :303:4
\|
303 \| pub fun getOverflowBalance(): UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :304:4
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :304:44
\|
304 \| pub fun borrowManagerPublic(): &Manager{ManagerPublic}
\| ^^^^^^^^^^^^^

--\> 918c2008c16da416.Toucans

error: cannot find type in this scope: \`Toucans\`
--\> 9392a4a7c3f49a0b.FlovatarDustToken:286:18

--\> 9392a4a7c3f49a0b.FlovatarDustToken

error: cannot find type in this scope: \`FlovatarDustToken\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:31
\|
415 \| buyTokens.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> 9392a4a7c3f49a0b.FlovatarPack:415:25
\|
415 \| buyTokens.isInstance(Type<@FlovatarDustToken.Vault>()):
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| +| 0xc911d6ddfae70ce8 | PriceOracle | ✅ | +| 0x2d59ec5158e3adae | HeroesOfTheFlow | ✅ | +| 0xe8124d8428980aa6 | Bl0x | ✅ | +| 0xc7c122b5b811de8e | BulkPurchase | ❌

Error:
error: missing structure declaration \`Order\`
--\> c7c122b5b811de8e.BulkPurchase:20:21
\|
20 \| access(all) contract BulkPurchase {
\| ^^^^^^^^^^^^
| +| 0xc7c122b5b811de8e | FlowversePass | ✅ | +| 0xc7c122b5b811de8e | FlowversePassPrimarySaleMinter | ✅ | +| 0xc7c122b5b811de8e | FlowversePrimarySale | ✅ | +| 0xc7c122b5b811de8e | FlowversePrimarySaleV2 | ✅ | +| 0xc7c122b5b811de8e | FlowverseShirt | ✅ | +| 0xc7c122b5b811de8e | FlowverseSocks | ✅ | +| 0xc7c122b5b811de8e | FlowverseTreasures | ✅ | +| 0xc7c122b5b811de8e | FlowverseTreasuresPrimarySaleMinter | ✅ | +| 0xc7c122b5b811de8e | Ordinal | ✅ | +| 0xc7c122b5b811de8e | OrdinalVendor | ✅ | +| 0xc7c122b5b811de8e | Royalties | ✅ | +| 0xd9c02cdacccb25ab | FlowtyTestNFT | ✅ | +| 0x6d692450d591524c | PriceOracle | ✅ | +| 0x3a52faafb43951c0 | BigEast | ✅ | +| 0x3a52faafb43951c0 | LNVCT | ✅ | +| 0x3a52faafb43951c0 | MLS | ✅ | +| 0x3a52faafb43951c0 | NFL | ✅ | +| 0x3a52faafb43951c0 | Sharks | ✅ | +| 0x3a52faafb43951c0 | Stanz | ✅ | +| 0x3a52faafb43951c0 | TMNFT | ✅ | +| 0x2a9011074c827145 | FungibleTokenCatalog | ✅ | +| 0xe7d5fb4c128b85b7 | Genies | ✅ | +| 0x26a1e94319e81a3c | Staking | ✅ | +| 0x26a1e94319e81a3c | StakingError | ✅ | +| 0x86d1c2159a5d9eca | TransactionTypes | ✅ | +| 0x1f38da7a93c61f28 | ExampleNFT | ❌

Error:
error: cannot find type in this scope: \`NonFungibleToken.Owner\`
--\> 1f38da7a93c61f28.ExampleNFT:161:43
\|
161 \| access(NonFungibleToken.Withdraw \| NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {
\| ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`NonFungibleToken.Owner\`
--\> 1f38da7a93c61f28.ExampleNFT:183:60
\|
183 \| let authTokenRef = (&self.ownedNFTs\$&id\$& as auth(NonFungibleToken.Owner) &{NonFungibleToken.NFT}?)!
\| ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: mismatched types
--\> 1f38da7a93c61f28.ExampleNFT:185:38
\|
185 \| ExampleNFT.emitNFTUpdated(authTokenRef)
\| ^^^^^^^^^^^^ expected \`auth(NonFungibleToken.Update) &{NonFungibleToken.NFT}\`, got \`auth(NonFungibleToken) &{NonFungibleToken.NFT}\`

error: resource \`ExampleNFT.Collection\` does not conform to resource interface \`NonFungibleToken.Collection\`
--\> 1f38da7a93c61f28.ExampleNFT:134:25
\|
134 \| access(all) resource Collection: NonFungibleToken.Collection, ExampleNFTCollectionPublic {
\| ^
...
\|
137 \| access(contract) var ownedNFTs: @{UInt64: {NonFungibleToken.NFT}}
\| \-\-\-\-\-\-\-\-\- mismatch here

error: resource \`ExampleNFT.Collection\` does not conform to resource interface \`NonFungibleToken.Collection\`
--\> 1f38da7a93c61f28.ExampleNFT:134:25
\|
134 \| access(all) resource Collection: NonFungibleToken.Collection, ExampleNFTCollectionPublic {
\| ^
...
\|
161 \| access(NonFungibleToken.Withdraw \| NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {
\| \-\-\-\-\-\-\-\- mismatch here
| +| 0x8232ce4a3aff4e94 | PublicPriceOracle | ✅ | +| 0xcc3f23a0ee7b0549 | rodangear_NFT | ✅ | +| 0x886d5599b3bfc873 | A | ✅ | +| 0x886d5599b3bfc873 | B | ✅ | +| 0xe45c64ecfe31e465 | DelegatorManager | ✅ | +| 0xe45c64ecfe31e465 | LiquidStaking | ✅ | +| 0xe45c64ecfe31e465 | LiquidStakingConfig | ✅ | +| 0xe45c64ecfe31e465 | LiquidStakingError | ✅ | +| 0xa2526e2d9cc7f0d2 | PackNFT | ✅ | +| 0xa2526e2d9cc7f0d2 | Pinnacle | ✅ | +| 0xe45c64ecfe31e465 | stFlowToken | ✅ | +| 0x3e5b4c627064625d | Flomies | ❌

Error:
error: found new field \`storagePath\` in \`Collection\`
--\> 3e5b4c627064625d.Flomies:231:25
\|
231 \| access(self) var storagePath: StoragePath
\| ^^^^^^^^^^^

error: found new field \`publicPath\` in \`Collection\`
--\> 3e5b4c627064625d.Flomies:232:25
\|
232 \| access(self) var publicPath: PublicPath
\| ^^^^^^^^^^
| +| 0x3e5b4c627064625d | GeneratedExperiences | ✅ | +| 0x3e5b4c627064625d | NFGv3 | ✅ | +| 0x3e5b4c627064625d | PartyFavorz | ❌

Error:
error: found new field \`storagePath\` in \`Collection\`
--\> 3e5b4c627064625d.PartyFavorz:249:25
\|
249 \| access(self) var storagePath: StoragePath
\| ^^^^^^^^^^^

error: found new field \`publicPath\` in \`Collection\`
--\> 3e5b4c627064625d.PartyFavorz:250:25
\|
250 \| access(self) var publicPath: PublicPath
\| ^^^^^^^^^^
| +| 0x3e5b4c627064625d | PartyFavorzExtraData | ✅ | +| 0x857dc34d5e1631d3 | FLOAT | ✅ | +| 0x857dc34d5e1631d3 | FLOATVerifiers | ❌

Error:
error: error getting program 4d47bf3ce5e4393f.FLOAT: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :28:0
\|
28 \| pub contract FLOAT: NonFungibleToken, ViewResolver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :34:4
\|
34 \| pub let FLOATCollectionStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :35:4
\|
35 \| pub let FLOATCollectionPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :36:4
\|
36 \| pub let FLOATEventsStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :37:4
\|
37 \| pub let FLOATEventsPublicPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :38:4
\|
38 \| pub let FLOATEventsPrivatePath: PrivatePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :44:4
\|
44 \| pub event ContractInitialized()
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :45:4
\|
45 \| pub event FLOATMinted(id: UInt64, eventHost: Address, eventId: UInt64, eventImage: String, recipient: Address, serial: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :46:4
\|
46 \| pub event FLOATClaimed(id: UInt64, eventHost: Address, eventId: UInt64, eventImage: String, eventName: String, recipient: Address, serial: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :47:4
\|
47 \| pub event FLOATDestroyed(id: UInt64, eventHost: Address, eventId: UInt64, eventImage: String, serial: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :48:4
\|
48 \| pub event FLOATTransferred(id: UInt64, eventHost: Address, eventId: UInt64, newOwner: Address?, serial: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :49:4
\|
49 \| pub event FLOATPurchased(id: UInt64, eventHost: Address, eventId: UInt64, recipient: Address, serial: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :50:4
\|
50 \| pub event FLOATEventCreated(eventId: UInt64, description: String, host: Address, image: String, name: String, url: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :51:4
\|
51 \| pub event FLOATEventDestroyed(eventId: UInt64, host: Address, name: String)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :53:4
\|
53 \| pub event Deposit(id: UInt64, to: Address?)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :54:4
\|
54 \| pub event Withdraw(id: UInt64, from: Address?)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :62:4
\|
62 \| pub var totalSupply: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :65:4
\|
65 \| pub var totalFLOATEvents: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :73:4
\|
73 \| pub struct TokenIdentifier {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :74:8
\|
74 \| pub let id: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :75:8
\|
75 \| pub let address: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :76:8
\|
76 \| pub let serial: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :85:4
\|
85 \| pub struct TokenInfo {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :86:8
\|
86 \| pub let path: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :87:8
\|
87 \| pub let price: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :96:4
\|
96 \| pub resource NFT: NonFungibleToken.INFT, MetadataViews.Resolver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :98:8
\|
98 \| pub let id: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :103:8
\|
103 \| pub let dateReceived: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :104:8
\|
104 \| pub let eventDescription: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :105:8
\|
105 \| pub let eventHost: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :106:8
\|
106 \| pub let eventId: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :107:8
\|
107 \| pub let eventImage: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :108:8
\|
108 \| pub let eventName: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:8
\|
109 \| pub let originalRecipient: Address
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :110:8
\|
110 \| pub let serial: UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :117:8
\|
117 \| pub let eventsCap: Capability<&FLOATEvents{FLOATEventsPublic, MetadataViews.ResolverCollection}>
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :117:51
\|
117 \| pub let eventsCap: Capability<&FLOATEvents{FLOATEventsPublic, MetadataViews.ResolverCollection}>
\| ^^^^^^^^^^^^^^^^^

--\> 4d47bf3ce5e4393f.FLOAT

error: cannot find type in this scope: \`FLOAT\`
--\> 857dc34d5e1631d3.FLOATVerifiers:38:33
\|
38 \| access(all) struct Timelock: FLOAT.IVerifier {
\| ^^^^^ not found in this scope

error: cannot find type in this scope: \`FLOAT\`
--\> 857dc34d5e1631d3.FLOATVerifiers:66:31
\|
66 \| access(all) struct Secret: FLOAT.IVerifier {
\| ^^^^^ not found in this scope

error: cannot find type in this scope: \`FLOAT\`
--\> 857dc34d5e1631d3.FLOATVerifiers:90:32
\|
90 \| access(all) struct Limited: FLOAT.IVerifier {
\| ^^^^^ not found in this scope

error: cannot find type in this scope: \`FLOAT\`
--\> 857dc34d5e1631d3.FLOATVerifiers:113:39
\|
113 \| access(all) struct MultipleSecret: FLOAT.IVerifier {
\| ^^^^^ not found in this scope

error: cannot find type in this scope: \`FLOAT\`
--\> 857dc34d5e1631d3.FLOATVerifiers:137:33
\|
137 \| access(all) struct SecretV2: FLOAT.IVerifier {
\| ^^^^^ not found in this scope

error: cannot find type in this scope: \`FLOAT\`
--\> 857dc34d5e1631d3.FLOATVerifiers:162:39
\|
162 \| access(all) struct MinimumBalance: FLOAT.IVerifier {
\| ^^^^^ not found in this scope

error: cannot find type in this scope: \`FLOAT\`
--\> 857dc34d5e1631d3.FLOATVerifiers:226:30
\|
226 \| access(all) struct Email: FLOAT.IVerifier {
\| ^^^^^ not found in this scope

error: cannot find type in this scope: \`FLOAT\`
--\> 857dc34d5e1631d3.FLOATVerifiers:94:51
\|
94 \| let floatEvent = params\$&"event"\$&! as! &FLOAT.FLOATEvent
\| ^^^^^ not found in this scope

error: cannot find type in this scope: \`FLOAT\`
--\> 857dc34d5e1631d3.FLOATVerifiers:230:51
\|
230 \| let floatEvent = params\$&"event"\$&! as! &FLOAT.FLOATEvent
\| ^^^^^ not found in this scope
| +| 0x6d0f55821f6b2dbe | BBxBarbieCard | ✅ | +| 0x6d0f55821f6b2dbe | BBxBarbiePM | ✅ | +| 0x6d0f55821f6b2dbe | BBxBarbiePack | ✅ | +| 0x6d0f55821f6b2dbe | BBxBarbieToken | ✅ | +| 0x5d45c655fcde5037 | TicalUniverse | ✅ | +| 0x5d45c655fcde5037 | TuneGO | ✅ | +| 0xf9dad0d4c14a92b5 | BUSD | ✅ | +| 0xf9dad0d4c14a92b5 | USDC | ✅ | +| 0xf9dad0d4c14a92b5 | USDT | ✅ | +| 0xf9dad0d4c14a92b5 | wFlow | ✅ | +| 0xa47a2d3a3b7e9133 | FanTopMarket | ✅ | +| 0xa47a2d3a3b7e9133 | FanTopPermission | ✅ | +| 0xa47a2d3a3b7e9133 | FanTopPermissionV2a | ✅ | +| 0xa47a2d3a3b7e9133 | FanTopSerial | ✅ | +| 0xa47a2d3a3b7e9133 | FanTopToken | ✅ | +| 0xa47a2d3a3b7e9133 | Signature | ✅ | +| 0x250e0b90c1b7711b | A | ❌

Error:
error: cannot find declaration \`B\` in \`250e0b90c1b7711b.B\`
--\> 250e0b90c1b7711b.A:1:7
\|
1 \| import B from 0x250e0b90c1b7711b
\| ^ available exported declarations are:
\- \`Bad\`

| +| 0x250e0b90c1b7711b | B | ✅ | +| 0x250e0b90c1b7711b | Bar | ✅ | +| 0x250e0b90c1b7711b | F | ✅ | +| 0x250e0b90c1b7711b | Foo | ✅ | +| 0x250e0b90c1b7711b | L | ✅ | +| 0x250e0b90c1b7711b | O | ✅ | +| 0x250e0b90c1b7711b | W | ❌

Error:
error: mismatching field \`foo\` in \`W\`
--\> 250e0b90c1b7711b.W:3:25
\|
3 \| access(all) let foo: String
\| ^^^^^^ incompatible type annotations. expected \`Int\`, found \`String\`
| +| 0x0d3dc5ad70be03d1 | Filter | ✅ | +| 0x0d3dc5ad70be03d1 | Offers | ✅ | +| 0x0d3dc5ad70be03d1 | ScopedFTProviders | ✅ | +| 0x985d410b577fd4a1 | Gamisodes | ✅ | +| 0x985d410b577fd4a1 | Lufthaus | ✅ | +| 0x985d410b577fd4a1 | MUMGJ | ✅ | +| 0x985d410b577fd4a1 | MintStoreItem | ✅ | +| 0x985d410b577fd4a1 | OpenLockerInc | ✅ | +| 0x985d410b577fd4a1 | OpenLockerIncBoneYardHuskyzClub | ✅ | +| 0x985d410b577fd4a1 | Pickem | ✅ | +| 0x985d410b577fd4a1 | RTLStoreItem | ✅ | +| 0x985d410b577fd4a1 | YBees | ✅ | +| 0x985d410b577fd4a1 | YoungBoysBern | ✅ | +| 0xb39a42479c1c2c77 | AFLAdmin | ❌

Error:
error: error getting program b39a42479c1c2c77.AFLPack: failed to derive value: load program failed: Checking failed:
error: error getting program a983fecbed621163.FiatToken: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :5:0
\|
5 \| pub contract FiatToken: FungibleToken {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :10:4
\|
10 \| pub event AdminCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :11:4
\|
11 \| pub event AdminChanged(address: Address, resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :14:4
\|
14 \| pub event OwnerCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :15:4
\|
15 \| pub event OwnerChanged(address: Address, resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :18:4
\|
18 \| pub event MasterMinterCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:4
\|
19 \| pub event MasterMinterChanged(address: Address, resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :22:4
\|
22 \| pub event Paused()
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :23:4
\|
23 \| pub event Unpaused()
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :24:4
\|
24 \| pub event PauserCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :25:4
\|
25 \| pub event PauserChanged(address: Address, resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub event Blocklisted(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :29:4
\|
29 \| pub event Unblocklisted(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :30:4
\|
30 \| pub event BlocklisterCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :31:4
\|
31 \| pub event BlocklisterChanged(address: Address, resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :34:4
\|
34 \| pub event NewVault(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :35:4
\|
35 \| pub event DestroyVault(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :36:4
\|
36 \| pub event FiatTokenWithdrawn(amount: UFix64, from: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :37:4
\|
37 \| pub event FiatTokenDeposited(amount: UFix64, to: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :40:4
\|
40 \| pub event MinterCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :41:4
\|
41 \| pub event MinterControllerCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :42:4
\|
42 \| pub event Mint(minter: UInt64, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :43:4
\|
43 \| pub event Burn(minter: UInt64, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :44:4
\|
44 \| pub event MinterConfigured(controller: UInt64, minter: UInt64, allowance: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :45:4
\|
45 \| pub event MinterRemoved(controller: UInt64, minter: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :46:4
\|
46 \| pub event ControllerConfigured(controller: UInt64, minter: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :47:4
\|
47 \| pub event ControllerRemoved(controller: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :52:4
\|
52 \| pub event TokensInitialized(initialSupply: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :53:4
\|
53 \| pub event TokensWithdrawn(amount: UFix64, from: Address?)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :54:4
\|
54 \| pub event TokensDeposited(amount: UFix64, to: Address?)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:4
\|
59 \| pub let VaultStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :60:4
\|
60 \| pub let VaultBalancePubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :61:4
\|
61 \| pub let VaultUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :62:4
\|
62 \| pub let VaultReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :64:4
\|
64 \| pub let BlocklistExecutorStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :66:4
\|
66 \| pub let BlocklisterStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :67:4
\|
67 \| pub let BlocklisterCapReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :68:4
\|
68 \| pub let BlocklisterUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:4
\|
69 \| pub let BlocklisterPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :71:4
\|
71 \| pub let PauseExecutorStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :73:4
\|
73 \| pub let PauserStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :74:4
\|
74 \| pub let PauserCapReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :75:4
\|
75 \| pub let PauserUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :76:4
\|
76 \| pub let PauserPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :78:4
\|
78 \| pub let AdminExecutorStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :80:4
\|
80 \| pub let AdminStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :81:4
\|
81 \| pub let AdminCapReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:4
\|
82 \| pub let AdminUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :83:4
\|
83 \| pub let AdminPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :85:4
\|
85 \| pub let OwnerExecutorStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :87:4
\|
87 \| pub let OwnerStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :88:4
\|
88 \| pub let OwnerCapReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :89:4
\|
89 \| pub let OwnerUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:4
\|
90 \| pub let OwnerPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :92:4
\|
92 \| pub let MasterMinterExecutorStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :94:4
\|
94 \| pub let MasterMinterStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :95:4
\|
95 \| pub let MasterMinterCapReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :96:4
\|
96 \| pub let MasterMinterUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :97:4
\|
97 \| pub let MasterMinterPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:4
\|
99 \| pub let MinterControllerStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :100:4
\|
100 \| pub let MinterControllerUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :101:4
\|
101 \| pub let MinterControllerPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :103:4
\|
103 \| pub let MinterStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :104:4
\|
104 \| pub let MinterUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:4
\|
109 \| pub let name: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :110:4
\|
110 \| pub var version: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :112:4
\|
112 \| pub var paused: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :114:4
\|
114 \| pub var totalSupply: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :125:4
\|
125 \| pub resource interface ResourceId {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:8
\|
126 \| pub fun UUID(): UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :129:4
\|
129 \| pub resource interface AdminCapReceiver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :130:8
\|
130 \| pub fun setAdminCap(cap: Capability<&AdminExecutor>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:4
\|
133 \| pub resource interface OwnerCapReceiver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :134:8
\|
134 \| pub fun setOwnerCap(cap: Capability<&OwnerExecutor>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :137:4
\|
137 \| pub resource interface MasterMinterCapReceiver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :138:8
\|
138 \| pub fun setMasterMinterCap(cap: Capability<&MasterMinterExecutor>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :141:4
\|
141 \| pub resource interface BlocklisterCapReceiver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:8
\|
142 \| pub fun setBlocklistCap(cap: Capability<&BlocklistExecutor>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :145:4
\|
145 \| pub resource interface PauseCapReceiver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :146:8
\|
146 \| pub fun setPauseCap(cap: Capability<&PauseExecutor>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :186:4
\|
186 \| pub resource Vault:
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:8
\|
192 \| pub var balance: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:8
\|
194 \| pub fun withdraw(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :205:8
\|
205 \| pub fun deposit(from: @FungibleToken.Vault) {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :219:8
\|
219 \| pub fun UUID(): UInt64 {
\| ^^^

error: custom destructor definitions are no longer permitted
--\> :231:8
\|
231 \| destroy() {
\| ^ remove the destructor definition

error: \`pub\` is no longer a valid access keyword
--\> :244:4
\|
244 \| pub resource AdminExecutor {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :248:8
\|
248 \| pub fun upgradeContract(name: String, code: \$&UInt8\$&, version: String) {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :252:8
\|
252 \| pub fun changeAdmin(to: Address, newPath: PrivatePath) {
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :255:38
\|
255 \| .getCapability<&Admin{AdminCapReceiver}>(FiatToken.AdminCapReceiverPubPath)
\| ^^^^^^^^^^^^^^^^

--\> a983fecbed621163.FiatToken

error: cannot find type in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLPack:23:48

error: cannot find type in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLPack:165:55

error: cannot find variable in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLPack:165:72

error: cannot infer type parameter: \`T\`
--\> b39a42479c1c2c77.AFLPack:165:24

error: cannot find type in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLPack:111:38

error: cannot find type in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLPack:112:35

error: cannot infer type parameter: \`T\`
--\> b39a42479c1c2c77.AFLPack:111:56

error: cannot infer type parameter: \`T\`
--\> b39a42479c1c2c77.AFLPack:111:56

--\> b39a42479c1c2c77.AFLPack
| +| 0xb39a42479c1c2c77 | AFLBadges | ✅ | +| 0xb39a42479c1c2c77 | AFLBurnExchange | ✅ | +| 0xb39a42479c1c2c77 | AFLBurnRegistry | ✅ | +| 0xb39a42479c1c2c77 | AFLIndex | ✅ | +| 0xb39a42479c1c2c77 | AFLMarketplace | ❌

Error:
error: error getting program a983fecbed621163.FiatToken: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :5:0
\|
5 \| pub contract FiatToken: FungibleToken {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :10:4
\|
10 \| pub event AdminCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :11:4
\|
11 \| pub event AdminChanged(address: Address, resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :14:4
\|
14 \| pub event OwnerCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :15:4
\|
15 \| pub event OwnerChanged(address: Address, resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :18:4
\|
18 \| pub event MasterMinterCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:4
\|
19 \| pub event MasterMinterChanged(address: Address, resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :22:4
\|
22 \| pub event Paused()
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :23:4
\|
23 \| pub event Unpaused()
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :24:4
\|
24 \| pub event PauserCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :25:4
\|
25 \| pub event PauserChanged(address: Address, resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub event Blocklisted(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :29:4
\|
29 \| pub event Unblocklisted(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :30:4
\|
30 \| pub event BlocklisterCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :31:4
\|
31 \| pub event BlocklisterChanged(address: Address, resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :34:4
\|
34 \| pub event NewVault(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :35:4
\|
35 \| pub event DestroyVault(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :36:4
\|
36 \| pub event FiatTokenWithdrawn(amount: UFix64, from: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :37:4
\|
37 \| pub event FiatTokenDeposited(amount: UFix64, to: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :40:4
\|
40 \| pub event MinterCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :41:4
\|
41 \| pub event MinterControllerCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :42:4
\|
42 \| pub event Mint(minter: UInt64, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :43:4
\|
43 \| pub event Burn(minter: UInt64, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :44:4
\|
44 \| pub event MinterConfigured(controller: UInt64, minter: UInt64, allowance: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :45:4
\|
45 \| pub event MinterRemoved(controller: UInt64, minter: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :46:4
\|
46 \| pub event ControllerConfigured(controller: UInt64, minter: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :47:4
\|
47 \| pub event ControllerRemoved(controller: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :52:4
\|
52 \| pub event TokensInitialized(initialSupply: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :53:4
\|
53 \| pub event TokensWithdrawn(amount: UFix64, from: Address?)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :54:4
\|
54 \| pub event TokensDeposited(amount: UFix64, to: Address?)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:4
\|
59 \| pub let VaultStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :60:4
\|
60 \| pub let VaultBalancePubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :61:4
\|
61 \| pub let VaultUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :62:4
\|
62 \| pub let VaultReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :64:4
\|
64 \| pub let BlocklistExecutorStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :66:4
\|
66 \| pub let BlocklisterStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :67:4
\|
67 \| pub let BlocklisterCapReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :68:4
\|
68 \| pub let BlocklisterUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:4
\|
69 \| pub let BlocklisterPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :71:4
\|
71 \| pub let PauseExecutorStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :73:4
\|
73 \| pub let PauserStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :74:4
\|
74 \| pub let PauserCapReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :75:4
\|
75 \| pub let PauserUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :76:4
\|
76 \| pub let PauserPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :78:4
\|
78 \| pub let AdminExecutorStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :80:4
\|
80 \| pub let AdminStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :81:4
\|
81 \| pub let AdminCapReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:4
\|
82 \| pub let AdminUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :83:4
\|
83 \| pub let AdminPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :85:4
\|
85 \| pub let OwnerExecutorStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :87:4
\|
87 \| pub let OwnerStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :88:4
\|
88 \| pub let OwnerCapReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :89:4
\|
89 \| pub let OwnerUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:4
\|
90 \| pub let OwnerPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :92:4
\|
92 \| pub let MasterMinterExecutorStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :94:4
\|
94 \| pub let MasterMinterStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :95:4
\|
95 \| pub let MasterMinterCapReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :96:4
\|
96 \| pub let MasterMinterUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :97:4
\|
97 \| pub let MasterMinterPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:4
\|
99 \| pub let MinterControllerStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :100:4
\|
100 \| pub let MinterControllerUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :101:4
\|
101 \| pub let MinterControllerPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :103:4
\|
103 \| pub let MinterStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :104:4
\|
104 \| pub let MinterUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:4
\|
109 \| pub let name: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :110:4
\|
110 \| pub var version: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :112:4
\|
112 \| pub var paused: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :114:4
\|
114 \| pub var totalSupply: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :125:4
\|
125 \| pub resource interface ResourceId {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:8
\|
126 \| pub fun UUID(): UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :129:4
\|
129 \| pub resource interface AdminCapReceiver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :130:8
\|
130 \| pub fun setAdminCap(cap: Capability<&AdminExecutor>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:4
\|
133 \| pub resource interface OwnerCapReceiver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :134:8
\|
134 \| pub fun setOwnerCap(cap: Capability<&OwnerExecutor>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :137:4
\|
137 \| pub resource interface MasterMinterCapReceiver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :138:8
\|
138 \| pub fun setMasterMinterCap(cap: Capability<&MasterMinterExecutor>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :141:4
\|
141 \| pub resource interface BlocklisterCapReceiver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:8
\|
142 \| pub fun setBlocklistCap(cap: Capability<&BlocklistExecutor>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :145:4
\|
145 \| pub resource interface PauseCapReceiver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :146:8
\|
146 \| pub fun setPauseCap(cap: Capability<&PauseExecutor>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :186:4
\|
186 \| pub resource Vault:
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:8
\|
192 \| pub var balance: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:8
\|
194 \| pub fun withdraw(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :205:8
\|
205 \| pub fun deposit(from: @FungibleToken.Vault) {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :219:8
\|
219 \| pub fun UUID(): UInt64 {
\| ^^^

error: custom destructor definitions are no longer permitted
--\> :231:8
\|
231 \| destroy() {
\| ^ remove the destructor definition

error: \`pub\` is no longer a valid access keyword
--\> :244:4
\|
244 \| pub resource AdminExecutor {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :248:8
\|
248 \| pub fun upgradeContract(name: String, code: \$&UInt8\$&, version: String) {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :252:8
\|
252 \| pub fun changeAdmin(to: Address, newPath: PrivatePath) {
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :255:38
\|
255 \| .getCapability<&Admin{AdminCapReceiver}>(FiatToken.AdminCapReceiverPubPath)
\| ^^^^^^^^^^^^^^^^

--\> a983fecbed621163.FiatToken

error: cannot find type in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLMarketplace:79:33
\|
79 \| init (vault: Capability<&FiatToken.Vault>) {
\| ^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLMarketplace:77:49
\|
77 \| access(self) let ownerVault: Capability<&FiatToken.Vault>
\| ^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLMarketplace:259:70
\|
259 \| access(all) fun changeMarketplaceWallet(\_ newCap: Capability<&FiatToken.Vault>) {
\| ^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLMarketplace:12:56
\|
12 \| access(contract) var marketplaceWallet: Capability<&FiatToken.Vault>
\| ^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLMarketplace:242:65
\|
242 \| access(all) fun createSaleCollection(ownerVault: Capability<&FiatToken.Vault>): @SaleCollection {
\| ^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLMarketplace:277:64
\|
277 \| self.marketplaceWallet = self.account.capabilities.get<&FiatToken.Vault>(/public/FiatTokenVaultReceiver)
\| ^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> b39a42479c1c2c77.AFLMarketplace:277:33
\|
277 \| self.marketplaceWallet = self.account.capabilities.get<&FiatToken.Vault>(/public/FiatTokenVaultReceiver)
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find type in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLMarketplace:119:36
\|
119 \| let saleOwnerVaultRef: &FiatToken.Vault = self.ownerVault.borrow() ?? panic("could not borrow reference to the owner vault")
\| ^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLMarketplace:126:36
\|
126 \| let marketplaceWallet: &FiatToken.Vault = AFLMarketplace.marketplaceWallet.borrow() ?? panic("Couldn't borrow Vault reference")
\| ^^^^^^^^^ not found in this scope
| +| 0xb39a42479c1c2c77 | AFLMetadataHelper | ✅ | +| 0xb39a42479c1c2c77 | AFLNFT | ✅ | +| 0xb39a42479c1c2c77 | AFLPack | ❌

Error:
error: error getting program a983fecbed621163.FiatToken: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :5:0
\|
5 \| pub contract FiatToken: FungibleToken {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :10:4
\|
10 \| pub event AdminCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :11:4
\|
11 \| pub event AdminChanged(address: Address, resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :14:4
\|
14 \| pub event OwnerCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :15:4
\|
15 \| pub event OwnerChanged(address: Address, resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :18:4
\|
18 \| pub event MasterMinterCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :19:4
\|
19 \| pub event MasterMinterChanged(address: Address, resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :22:4
\|
22 \| pub event Paused()
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :23:4
\|
23 \| pub event Unpaused()
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :24:4
\|
24 \| pub event PauserCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :25:4
\|
25 \| pub event PauserChanged(address: Address, resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :28:4
\|
28 \| pub event Blocklisted(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :29:4
\|
29 \| pub event Unblocklisted(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :30:4
\|
30 \| pub event BlocklisterCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :31:4
\|
31 \| pub event BlocklisterChanged(address: Address, resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :34:4
\|
34 \| pub event NewVault(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :35:4
\|
35 \| pub event DestroyVault(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :36:4
\|
36 \| pub event FiatTokenWithdrawn(amount: UFix64, from: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :37:4
\|
37 \| pub event FiatTokenDeposited(amount: UFix64, to: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :40:4
\|
40 \| pub event MinterCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :41:4
\|
41 \| pub event MinterControllerCreated(resourceId: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :42:4
\|
42 \| pub event Mint(minter: UInt64, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :43:4
\|
43 \| pub event Burn(minter: UInt64, amount: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :44:4
\|
44 \| pub event MinterConfigured(controller: UInt64, minter: UInt64, allowance: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :45:4
\|
45 \| pub event MinterRemoved(controller: UInt64, minter: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :46:4
\|
46 \| pub event ControllerConfigured(controller: UInt64, minter: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :47:4
\|
47 \| pub event ControllerRemoved(controller: UInt64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :52:4
\|
52 \| pub event TokensInitialized(initialSupply: UFix64)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :53:4
\|
53 \| pub event TokensWithdrawn(amount: UFix64, from: Address?)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :54:4
\|
54 \| pub event TokensDeposited(amount: UFix64, to: Address?)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :59:4
\|
59 \| pub let VaultStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :60:4
\|
60 \| pub let VaultBalancePubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :61:4
\|
61 \| pub let VaultUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :62:4
\|
62 \| pub let VaultReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :64:4
\|
64 \| pub let BlocklistExecutorStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :66:4
\|
66 \| pub let BlocklisterStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :67:4
\|
67 \| pub let BlocklisterCapReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :68:4
\|
68 \| pub let BlocklisterUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :69:4
\|
69 \| pub let BlocklisterPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :71:4
\|
71 \| pub let PauseExecutorStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :73:4
\|
73 \| pub let PauserStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :74:4
\|
74 \| pub let PauserCapReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :75:4
\|
75 \| pub let PauserUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :76:4
\|
76 \| pub let PauserPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :78:4
\|
78 \| pub let AdminExecutorStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :80:4
\|
80 \| pub let AdminStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :81:4
\|
81 \| pub let AdminCapReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :82:4
\|
82 \| pub let AdminUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :83:4
\|
83 \| pub let AdminPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :85:4
\|
85 \| pub let OwnerExecutorStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :87:4
\|
87 \| pub let OwnerStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :88:4
\|
88 \| pub let OwnerCapReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :89:4
\|
89 \| pub let OwnerUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :90:4
\|
90 \| pub let OwnerPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :92:4
\|
92 \| pub let MasterMinterExecutorStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :94:4
\|
94 \| pub let MasterMinterStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :95:4
\|
95 \| pub let MasterMinterCapReceiverPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :96:4
\|
96 \| pub let MasterMinterUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :97:4
\|
97 \| pub let MasterMinterPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :99:4
\|
99 \| pub let MinterControllerStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :100:4
\|
100 \| pub let MinterControllerUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :101:4
\|
101 \| pub let MinterControllerPubSigner: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :103:4
\|
103 \| pub let MinterStoragePath: StoragePath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :104:4
\|
104 \| pub let MinterUUIDPubPath: PublicPath
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :109:4
\|
109 \| pub let name: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :110:4
\|
110 \| pub var version: String
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :112:4
\|
112 \| pub var paused: Bool
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :114:4
\|
114 \| pub var totalSupply: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :125:4
\|
125 \| pub resource interface ResourceId {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :126:8
\|
126 \| pub fun UUID(): UInt64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :129:4
\|
129 \| pub resource interface AdminCapReceiver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :130:8
\|
130 \| pub fun setAdminCap(cap: Capability<&AdminExecutor>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :133:4
\|
133 \| pub resource interface OwnerCapReceiver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :134:8
\|
134 \| pub fun setOwnerCap(cap: Capability<&OwnerExecutor>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :137:4
\|
137 \| pub resource interface MasterMinterCapReceiver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :138:8
\|
138 \| pub fun setMasterMinterCap(cap: Capability<&MasterMinterExecutor>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :141:4
\|
141 \| pub resource interface BlocklisterCapReceiver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :142:8
\|
142 \| pub fun setBlocklistCap(cap: Capability<&BlocklistExecutor>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :145:4
\|
145 \| pub resource interface PauseCapReceiver {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :146:8
\|
146 \| pub fun setPauseCap(cap: Capability<&PauseExecutor>)
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :186:4
\|
186 \| pub resource Vault:
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :192:8
\|
192 \| pub var balance: UFix64
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :194:8
\|
194 \| pub fun withdraw(amount: UFix64): @FungibleToken.Vault {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :205:8
\|
205 \| pub fun deposit(from: @FungibleToken.Vault) {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :219:8
\|
219 \| pub fun UUID(): UInt64 {
\| ^^^

error: custom destructor definitions are no longer permitted
--\> :231:8
\|
231 \| destroy() {
\| ^ remove the destructor definition

error: \`pub\` is no longer a valid access keyword
--\> :244:4
\|
244 \| pub resource AdminExecutor {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :248:8
\|
248 \| pub fun upgradeContract(name: String, code: \$&UInt8\$&, version: String) {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :252:8
\|
252 \| pub fun changeAdmin(to: Address, newPath: PrivatePath) {
\| ^^^

error: restricted types have been removed; replace with the concrete type or an equivalent intersection type
--\> :255:38
\|
255 \| .getCapability<&Admin{AdminCapReceiver}>(FiatToken.AdminCapReceiverPubPath)
\| ^^^^^^^^^^^^^^^^

--\> a983fecbed621163.FiatToken

error: cannot find type in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLPack:23:48
\|
23 \| access(contract) let adminRef : Capability<&FiatToken.Vault>
\| ^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLPack:165:55
\|
165 \| self.adminRef = self.account.capabilities.get<&FiatToken.Vault>(FiatToken.VaultReceiverPubPath)
\| ^^^^^^^^^ not found in this scope

error: cannot find variable in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLPack:165:72
\|
165 \| self.adminRef = self.account.capabilities.get<&FiatToken.Vault>(FiatToken.VaultReceiverPubPath)
\| ^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> b39a42479c1c2c77.AFLPack:165:24
\|
165 \| self.adminRef = self.account.capabilities.get<&FiatToken.Vault>(FiatToken.VaultReceiverPubPath)
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find type in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLPack:111:38
\|
111 \| let recipientCollection: &FiatToken.Vault = receiptAccount
\| ^^^^^^^^^ not found in this scope

error: cannot find type in this scope: \`FiatToken\`
--\> b39a42479c1c2c77.AFLPack:112:35
\|
112 \| .capabilities.get<&FiatToken.Vault>(/public/FiatTokenVaultReceiver)
\| ^^^^^^^^^ not found in this scope

error: cannot infer type parameter: \`T\`
--\> b39a42479c1c2c77.AFLPack:111:56
\|
111 \| let recipientCollection: &FiatToken.Vault = receiptAccount
112 \| .capabilities.get<&FiatToken.Vault>(/public/FiatTokenVaultReceiver)
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot infer type parameter: \`T\`
--\> b39a42479c1c2c77.AFLPack:111:56
\|
111 \| let recipientCollection: &FiatToken.Vault = receiptAccount
112 \| .capabilities.get<&FiatToken.Vault>(/public/FiatTokenVaultReceiver)
113 \| .borrow()
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| +| 0xb39a42479c1c2c77 | PackRestrictions | ✅ | +| 0xb39a42479c1c2c77 | StorageHelper | ✅ | +| 0x628992a07cb07272 | MatrixWorldVoucher | ✅ | +| 0x072127280188a611 | TestRootContract | ✅ | +| 0xb45e7992680a0f7f | CricketMoments | ✅ | +| 0xb45e7992680a0f7f | CricketMomentsShardedCollection | ✅ | +| 0xb45e7992680a0f7f | FazeUtilityCoin | ✅ | +| 0xf8e0eab3a87cbf49 | ExampleNFT | ❌

Error:
error: error getting program f8e0eab3a87cbf49.ExampleDependency: failed to derive value: load program failed: Parsing failed:
error: \`pub\` is no longer a valid access keyword
--\> :1:0
\|
1 \| pub contract ExampleDependency {
\| ^^^

error: \`pub\` is no longer a valid access keyword
--\> :2:4
\|
2 \| pub let test: Int
\| ^^^

--\> f8e0eab3a87cbf49.ExampleDependency

error: cannot find type in this scope: \`NonFungibleToken.Owner\`
--\> f8e0eab3a87cbf49.ExampleNFT:161:43
\|
161 \| access(NonFungibleToken.Withdraw \| NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {
\| ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: resource \`ExampleNFT.Collection\` does not conform to resource interface \`NonFungibleToken.Collection\`
--\> f8e0eab3a87cbf49.ExampleNFT:128:25
\|
128 \| access(all) resource Collection: NonFungibleToken.Collection {
\| ^
...
\|
131 \| access(contract) var ownedNFTs: @{UInt64: ExampleNFT.NFT}
\| \-\-\-\-\-\-\-\-\- mismatch here

error: resource \`ExampleNFT.Collection\` does not conform to resource interface \`NonFungibleToken.Collection\`
--\> f8e0eab3a87cbf49.ExampleNFT:128:25
\|
128 \| access(all) resource Collection: NonFungibleToken.Collection {
\| ^
...
\|
161 \| access(NonFungibleToken.Withdraw \| NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {
\| \-\-\-\-\-\-\-\- mismatch here
| +| 0x08b1f9c0bc04f36f | IconoGraphika | ✅ | +| 0xc20df20fabe06457 | SwapPair | ✅ | +| 0x6f16b5a358ec0246 | otanicloth_NFT | ✅ | +| 0xd8f6346999b983f5 | IPackNFT | ✅ | +| 0xf3e8f8ae2e9e2fec | giglabs_NFT | ✅ | +| 0x683564e46977788a | MFLAdmin | ✅ | +| 0x683564e46977788a | MFLClub | ✅ | +| 0x683564e46977788a | MFLPack | ✅ | +| 0x683564e46977788a | MFLPackTemplate | ✅ | +| 0x683564e46977788a | MFLPlayer | ✅ | +| 0x683564e46977788a | MFLViews | ✅ | +| 0x566c813b3632783e | ACCO_SOLEIL | ✅ | +| 0x566c813b3632783e | AIICOSMPLG | ✅ | +| 0x566c813b3632783e | AUGUSTUS1 | ✅ | +| 0x566c813b3632783e | BFD | ✅ | +| 0x566c813b3632783e | BTC | ✅ | +| 0x566c813b3632783e | BYPRODUCT | ✅ | +| 0x566c813b3632783e | DOGETKN | ✅ | +| 0x566c813b3632783e | DUNK | ✅ | +| 0x566c813b3632783e | DWLC | ✅ | +| 0x566c813b3632783e | EBISU | ✅ | +| 0x566c813b3632783e | ECO | ✅ | +| 0x566c813b3632783e | EDGE | ✅ | +| 0x566c813b3632783e | ELEMENT | ✅ | +| 0x566c813b3632783e | ExampleNFT | ✅ | +| 0x566c813b3632783e | H442T04 | ✅ | +| 0x566c813b3632783e | H442T05 | ✅ | +| 0x566c813b3632783e | HowardNFT | ✅ | +| 0x566c813b3632783e | IAT | ✅ | +| 0x566c813b3632783e | JOSHIN | ✅ | +| 0x566c813b3632783e | KARAT1AUAXQ | ✅ | +| 0x566c813b3632783e | KOZO | ✅ | +| 0x566c813b3632783e | Karat | ✅ | +| 0x566c813b3632783e | KaratNFT | ✅ | +| 0x566c813b3632783e | Karatv2 | ✅ | +| 0x566c813b3632783e | MARK | ✅ | +| 0x566c813b3632783e | MARKIE | ✅ | +| 0x566c813b3632783e | MARKIE2 | ✅ | +| 0x566c813b3632783e | MARKIE3 | ✅ | +| 0x566c813b3632783e | MEDI | ✅ | +| 0x566c813b3632783e | MEGAMI | ✅ | +| 0x566c813b3632783e | MRFRIENDLY | ✅ | +| 0x566c813b3632783e | SCARETKN | ✅ | +| 0x566c813b3632783e | SNAKE | ✅ | +| 0x566c813b3632783e | SUGOI | ✅ | +| 0x566c813b3632783e | SUNTORY | ✅ | +| 0x566c813b3632783e | Sorachi | ✅ | +| 0x566c813b3632783e | Story | ✅ | +| 0x566c813b3632783e | TNP | ✅ | +| 0x566c813b3632783e | TOM | ✅ | +| 0x566c813b3632783e | TS | ✅ | +| 0x566c813b3632783e | TSTCON | ✅ | +| 0x566c813b3632783e | WE_PIN | ✅ | +| 0x566c813b3632783e | Z1G2JHB24KARAT | ✅ | +| 0xfa2a6615db587be5 | ExampleNFT | ❌

Error:
error: cannot find type in this scope: \`NonFungibleToken.Owner\`
--\> fa2a6615db587be5.ExampleNFT:160:43
\|
160 \| access(NonFungibleToken.Withdraw \| NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {
\| ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: resource \`ExampleNFT.Collection\` does not conform to resource interface \`NonFungibleToken.Collection\`
--\> fa2a6615db587be5.ExampleNFT:127:25
\|
127 \| access(all) resource Collection: NonFungibleToken.Collection {
\| ^
...
\|
130 \| access(contract) var ownedNFTs: @{UInt64: ExampleNFT.NFT}
\| \-\-\-\-\-\-\-\-\- mismatch here

error: resource \`ExampleNFT.Collection\` does not conform to resource interface \`NonFungibleToken.Collection\`
--\> fa2a6615db587be5.ExampleNFT:127:25
\|
127 \| access(all) resource Collection: NonFungibleToken.Collection {
\| ^
...
\|
160 \| access(NonFungibleToken.Withdraw \| NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} {
\| \-\-\-\-\-\-\-\- mismatch here
| +| 0xa1296b1e2e90ca5b | HelloWorld | ✅ | +| 0x6b2e1b9d3c5ac5db | ValueLink_NFTMarketplace_v1 | ✅ | +| 0x6b2e1b9d3c5ac5db | ValueLink_NFT_v1 | ✅ | +| 0x2ceae959ed1a7e7a | MigrationContractStaging | ✅ | +| 0x324c34e1c517e4db | NFTCatalog | ✅ | +| 0x324c34e1c517e4db | NFTCatalogAdmin | ✅ | +| 0x324c34e1c517e4db | NFTRetrieval | ✅ | +| 0xddb929038d45d4b3 | SwapConfig | ✅ | +| 0xddb929038d45d4b3 | SwapError | ✅ | +| 0xddb929038d45d4b3 | SwapInterfaces | ✅ | +| 0x74daa6f9c7ef24b1 | FCLCrypto | ✅ | +| 0xb051bdaddb672a33 | DNAHandler | ✅ | +| 0xb051bdaddb672a33 | FlowtyListingCallback | ✅ | +| 0xb051bdaddb672a33 | FlowtyUtils | ✅ | +| 0xb051bdaddb672a33 | FlowtyViews | ✅ | +| 0xb051bdaddb672a33 | NFTStorefrontV2 | ✅ | +| 0xb051bdaddb672a33 | Permitted | ✅ | +| 0xb051bdaddb672a33 | RoyaltiesOverride | ✅ | +| 0x1c5033ad60821c97 | Admin | ✅ | +| 0x1c5033ad60821c97 | Clock | ✅ | +| 0x1c5033ad60821c97 | Debug | ✅ | +| 0x1c5033ad60821c97 | DoodleNames | ✅ | +| 0x1c5033ad60821c97 | DoodlePackTypes | ✅ | +| 0x1c5033ad60821c97 | DoodlePacks | ✅ | +| 0x1c5033ad60821c97 | Doodles | ✅ | +| 0x1c5033ad60821c97 | GenesisBoxRegistry | ✅ | +| 0x1c5033ad60821c97 | OpenDoodlePacks | ✅ | +| 0x1c5033ad60821c97 | Random | ✅ | +| 0x1c5033ad60821c97 | Redeemables | ✅ | +| 0x1c5033ad60821c97 | Teleport | ✅ | +| 0x1c5033ad60821c97 | Templates | ✅ | +| 0x1c5033ad60821c97 | TransactionsRegistry | ✅ | +| 0x1c5033ad60821c97 | Wearables | ✅ | +| 0x06f1e5cde6db0e70 | DropFactory | ✅ | +| 0x06f1e5cde6db0e70 | FlowtyAddressVerifiers | ✅ | +| 0x06f1e5cde6db0e70 | FlowtyDrops | ✅ | +| 0x06f1e5cde6db0e70 | FlowtyPricers | ✅ | +| 0x06f1e5cde6db0e70 | FlowtySwitchers | ✅ | +| 0xad26718c4b6b921b | BlackHole | ✅ | +| 0x3286bb76e4e115fe | Boneyard | ✅ | +| 0x2a9b59c3e2b72ee0 | OracleConfig | ✅ | +| 0x2a9b59c3e2b72ee0 | OracleInterface | ✅ | +| 0x2d766f00eb1d0c37 | PriceOracle | ✅ | +| 0x97d2f3b55c6a6a75 | LendingPool | ✅ | +| 0xf8ba321af4bd37bb | aiSportsMinter | ✅ | +| 0x195caada038c5806 | BarterYardClubWerewolf | ✅ | +| 0x195caada038c5806 | BarterYardStats | ✅ | +| 0x294e44e1ec6993c6 | CapabilityDelegator | ✅ | +| 0x294e44e1ec6993c6 | CapabilityFactory | ✅ | +| 0x294e44e1ec6993c6 | CapabilityFilter | ✅ | +| 0x294e44e1ec6993c6 | FTAllFactory | ✅ | +| 0x294e44e1ec6993c6 | FTBalanceFactory | ✅ | +| 0x294e44e1ec6993c6 | FTProviderFactory | ✅ | +| 0x294e44e1ec6993c6 | FTReceiverBalanceFactory | ✅ | +| 0x294e44e1ec6993c6 | FTReceiverFactory | ✅ | +| 0x294e44e1ec6993c6 | HybridCustody | ✅ | +| 0x294e44e1ec6993c6 | NFTCollectionPublicFactory | ✅ | +| 0x294e44e1ec6993c6 | NFTProviderAndCollectionFactory | ✅ | +| 0x294e44e1ec6993c6 | NFTProviderFactory | ✅ | +| 0x917db7072ed7160b | Cryptoys | ✅ | +| 0x917db7072ed7160b | CryptoysMetadataView2 | ✅ | +| 0x917db7072ed7160b | ICryptoys | ✅ | +| 0xe223d8a629e49c68 | FUSD | ✅ | +| 0x23031fd14bb0f21b | TwoSegmentsInterestRateModel | ✅ | +| 0x668b91e2995c2eba | PrivateReceiverForwarder | ✅ | +| 0x51ea0e37c27a1f1a | TokenForwarding | ✅ | +| 0x58b60c5240d3f39b | PackNFT | ✅ | +| 0x58b60c5240d3f39b | TicalUniverse | ✅ | +| 0x58b60c5240d3f39b | TuneGO | ✅ | +| 0x58b60c5240d3f39b | TuneGONFTV5 | ✅ | +| 0x94b84d0c11a22404 | TopShotShardedCollection | ✅ | +| 0x44ef9309713e2061 | StakingError | ✅ | +| 0x44ef9309713e2061 | StakingNFT | ✅ | +| 0x894269f57ac04a6e | FlowtyRaffleSource | ✅ | +| 0x894269f57ac04a6e | FlowtyRaffles | ✅ | +| 0xbd327ae7428784b5 | FlowEVMBridgeHandlerInterfaces | ❌

Error:
error: trying to convert contract interface \`FlowEVMBridgeHandlerInterfaces\` to a contract
--\> bd327ae7428784b5.FlowEVMBridgeHandlerInterfaces:12:21
\|
12 \| access(all) contract FlowEVMBridgeHandlerInterfaces {
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| +| 0xdfc20aee650fcbdf | FlowEVMBridgeHandlerInterfaces | ✅ | +| 0x9e324d8ae3cbd0f0 | LendingPool | ✅ | +| 0x43ee8c22fcf94ea3 | DapperStorageRent | ✅ | +| 0xef4cd3d07a7b43ce | IPackNFT | ✅ | +| 0xef4cd3d07a7b43ce | PDS | ✅ | +| 0x35717efbbce11c74 | Admin | ✅ | +| 0x35717efbbce11c74 | CharityNFT | ✅ | +| 0x35717efbbce11c74 | Clock | ✅ | +| 0x35717efbbce11c74 | Dandy | ✅ | +| 0x35717efbbce11c74 | Debug | ✅ | +| 0x35717efbbce11c74 | FIND | ✅ | +| 0x35717efbbce11c74 | FINDNFTCatalog | ✅ | +| 0x35717efbbce11c74 | FINDNFTCatalogAdmin | ✅ | +| 0x35717efbbce11c74 | FTRegistry | ✅ | +| 0x35717efbbce11c74 | FindAirdropper | ✅ | +| 0x35717efbbce11c74 | FindForge | ✅ | +| 0x35717efbbce11c74 | FindForgeOrder | ✅ | +| 0x35717efbbce11c74 | FindForgeStruct | ✅ | +| 0x35717efbbce11c74 | FindFurnace | ✅ | +| 0x35717efbbce11c74 | FindLeaseMarket | ✅ | +| 0x35717efbbce11c74 | FindLeaseMarketAuctionSoft | ✅ | +| 0x35717efbbce11c74 | FindLeaseMarketDirectOfferSoft | ✅ | +| 0x35717efbbce11c74 | FindLeaseMarketSale | ✅ | +| 0x35717efbbce11c74 | FindLostAndFoundWrapper | ✅ | +| 0x35717efbbce11c74 | FindMarket | ✅ | +| 0x35717efbbce11c74 | FindMarketAdmin | ✅ | +| 0x35717efbbce11c74 | FindMarketAuctionEscrow | ✅ | +| 0x35717efbbce11c74 | FindMarketAuctionSoft | ✅ | +| 0x35717efbbce11c74 | FindMarketCut | ✅ | +| 0x35717efbbce11c74 | FindMarketCutInterface | ✅ | +| 0x35717efbbce11c74 | FindMarketCutStruct | ✅ | +| 0x35717efbbce11c74 | FindMarketDirectOfferEscrow | ✅ | +| 0x35717efbbce11c74 | FindMarketDirectOfferSoft | ✅ | +| 0x35717efbbce11c74 | FindMarketInfrastructureCut | ✅ | +| 0x35717efbbce11c74 | FindMarketSale | ✅ | +| 0x35717efbbce11c74 | FindPack | ❌

Error:
error: mismatching field \`providerCaps\` in \`Metadata\`
--\> 35717efbbce11c74.FindPack:343:43
\|
343 \| access(contract) let providerCaps: {Type : Capability}
\| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ incompatible type annotations. expected \`{NonFungibleToken.Provider, MetadataViews.ResolverCollection}\`, found \`{NonFungibleToken.Collection}\`

error: conformances do not match in \`FindPack\`: missing \`A.631e88ae7f1d7c20.NonFungibleToken\`
--\> 35717efbbce11c74.FindPack:12:21
\|
12 \| access(all) contract FindPack {
\| ^^^^^^^^
| +| 0x35717efbbce11c74 | FindRelatedAccounts | ✅ | +| 0x35717efbbce11c74 | FindRulesCache | ✅ | +| 0x35717efbbce11c74 | FindThoughts | ✅ | +| 0x35717efbbce11c74 | FindUtils | ✅ | +| 0x35717efbbce11c74 | FindVerifier | ✅ | +| 0x35717efbbce11c74 | FindViews | ✅ | +| 0x35717efbbce11c74 | NameVoucher | ✅ | +| 0x35717efbbce11c74 | Profile | ✅ | +| 0x35717efbbce11c74 | ProfileCache | ✅ | +| 0x35717efbbce11c74 | Sender | ✅ | diff --git a/npm-packages/cadence-parser/package.json b/npm-packages/cadence-parser/package.json index 7c78f0070a..7c50f3d962 100644 --- a/npm-packages/cadence-parser/package.json +++ b/npm-packages/cadence-parser/package.json @@ -1,6 +1,6 @@ { "name": "@onflow/cadence-parser", - "version": "1.0.0-preview.34", + "version": "1.0.0-preview.35", "description": "The Cadence parser", "homepage": "https://github.com/onflow/cadence", "repository": { diff --git a/runtime/account_test.go b/runtime/account_test.go index 916d1df29f..cbc8542826 100644 --- a/runtime/account_test.go +++ b/runtime/account_test.go @@ -1970,6 +1970,84 @@ func TestRuntimeAuthAccountContracts(t *testing.T) { require.NoError(t, err) }) + t.Run("borrow existing contract with entitlement authorization", func(t *testing.T) { + t.Parallel() + + rt := NewTestInterpreterRuntime() + + accountCodes := map[Location][]byte{} + var events []cadence.Event + + runtimeInterface := &TestRuntimeInterface{ + OnGetCode: func(location Location) (bytes []byte, err error) { + return accountCodes[location], nil + }, + Storage: NewTestLedger(nil, nil), + OnGetSigningAccounts: func() ([]Address, error) { + return []Address{{0, 0, 0, 0, 0, 0, 0, 0x42}}, nil + }, + OnResolveLocation: NewSingleIdentifierLocationResolver(t), + OnGetAccountContractCode: func(location common.AddressLocation) (code []byte, err error) { + return accountCodes[location], nil + }, + OnUpdateAccountContractCode: func(location common.AddressLocation, code []byte) error { + accountCodes[location] = code + return nil + }, + OnEmitEvent: func(event cadence.Event) error { + events = append(events, event) + return nil + }, + } + + nextTransactionLocation := NewTransactionLocationGenerator() + + // Deploy contract + + err := rt.ExecuteTransaction( + Script{ + Source: DeploymentTransaction("Hello", []byte(` + + access(all) contract Hello { + + access(all) entitlement E + + access(all) fun hello(): String { + return "Hello!" + } + } + `)), + }, + Context{ + Interface: runtimeInterface, + Location: nextTransactionLocation(), + }, + ) + require.NoError(t, err) + + // Test usage + + err = rt.ExecuteTransaction( + Script{ + Source: []byte(` + import Hello from 0x42 + + transaction { + prepare(acc: &Account) { + let hello = acc.contracts.borrow(name: "Hello") + assert(hello == nil) + } + } + `), + }, + Context{ + Interface: runtimeInterface, + Location: nextTransactionLocation(), + }, + ) + require.ErrorContains(t, err, "cannot borrow a reference with an authorization") + }) + t.Run("borrow non-existing contract", func(t *testing.T) { t.Parallel() @@ -2130,6 +2208,7 @@ func TestRuntimeAuthAccountContracts(t *testing.T) { assert.IsType(t, &sema.UnauthorizedReferenceAssignmentError{}, errs[0]) }) + } func TestRuntimePublicAccountContracts(t *testing.T) { diff --git a/runtime/cmd/info/main.go b/runtime/cmd/info/main.go index 2f4cdeb9e7..fb8a56b277 100644 --- a/runtime/cmd/info/main.go +++ b/runtime/cmd/info/main.go @@ -28,6 +28,7 @@ import ( "github.com/onflow/cadence/runtime/ast" "github.com/onflow/cadence/runtime/common" "github.com/onflow/cadence/runtime/errors" + "github.com/onflow/cadence/runtime/parser" "github.com/onflow/cadence/runtime/sema" "github.com/onflow/cadence/runtime/stdlib" "github.com/onflow/cadence/runtime/tests/checker" @@ -71,6 +72,10 @@ var commands = map[string]command{ help: "Dumps all built-in values", handler: dumpBuiltinValues, }, + "dump-hard-keywords": { + help: "Dumps all hard keywords", + handler: dumpHardKeywords, + }, } func dumpBuiltinTypes() { @@ -119,12 +124,40 @@ func dumpBuiltinTypes() { ) for _, ty := range types { - id := ty.QualifiedString() - fmt.Printf("- %s\n", id) + dumpType(ty) + } +} - if *includeMembers { - dumpTypeMembers(ty) +func dumpType(ty sema.Type) { + + // If the type is parameterized, instantiate it with generic types + if parameterizedType, ok := ty.(sema.ParameterizedType); ok { + typeParameters := parameterizedType.TypeParameters() + typeArguments := parameterizedType.TypeArguments() + + var newTypeArguments []sema.Type + + for typeParameterIndex, typeParameter := range typeParameters { + var typeArgument sema.Type + if typeParameterIndex < len(typeArguments) { + typeArgument = typeArguments[typeParameterIndex] + } + if typeArgument == nil { + typeArgument = &sema.GenericType{ + TypeParameter: typeParameter, + } + } + newTypeArguments = append(newTypeArguments, typeArgument) } + + ty = sema.MustInstantiate(parameterizedType, newTypeArguments...) + } + + id := ty.QualifiedString() + fmt.Printf("- %s\n", id) + + if *includeMembers { + dumpTypeMembers(ty) } } @@ -263,6 +296,12 @@ func dumpBuiltinValues() { } } +func dumpHardKeywords() { + for _, keyword := range parser.HardKeywords { + fmt.Printf("- %s\n", keyword) + } +} + func printAvailableCommands() { type commandHelp struct { name string diff --git a/runtime/cmd/parse/main.go b/runtime/cmd/parse/main.go index 3237026dda..1f2d3d4b93 100644 --- a/runtime/cmd/parse/main.go +++ b/runtime/cmd/parse/main.go @@ -84,6 +84,7 @@ type jsonOutput struct { func newJSONOutput(file *os.File, count int) *jsonOutput { return &jsonOutput{ + file: file, results: make([]result, 0, count), } } diff --git a/runtime/convertTypes.go b/runtime/convertTypes.go index 427964e468..8315bf2ee6 100644 --- a/runtime/convertTypes.go +++ b/runtime/convertTypes.go @@ -342,8 +342,8 @@ func exportCompositeType( result = cadence.NewMeteredAttachmentType( gauge, t.Location, - ExportMeteredType(gauge, t.GetBaseType(), results), t.QualifiedIdentifier(), + ExportMeteredType(gauge, t.GetBaseType(), results), fields, nil, ) diff --git a/runtime/convertTypes_test.go b/runtime/convertTypes_test.go index 0dcc08970e..fe26743584 100644 --- a/runtime/convertTypes_test.go +++ b/runtime/convertTypes_test.go @@ -53,18 +53,21 @@ func TestRuntimeExportRecursiveType(t *testing.T) { VariableKind: ast.VariableKindVariable, }) - expected := &cadence.ResourceType{ - Location: utils.TestLocation, - QualifiedIdentifier: "Foo", - Fields: []cadence.Field{ - { - Identifier: "foo", - }, + fields := []cadence.Field{ + { + Identifier: "foo", }, } + expected := cadence.NewResourceType( + utils.TestLocation, + "Foo", + fields, + nil, + ) + // NOTE: recursion should be kept - expected.Fields[0].Type = expected + fields[0].Type = expected assert.Equal(t, expected, @@ -108,18 +111,21 @@ func BenchmarkExportType(b *testing.B) { VariableKind: ast.VariableKindVariable, }) - expected := &cadence.ResourceType{ - Location: utils.TestLocation, - QualifiedIdentifier: "Foo", - Fields: []cadence.Field{ - { - Identifier: "foo", - }, + fields := []cadence.Field{ + { + Identifier: "foo", }, } + expected := cadence.NewResourceType( + utils.TestLocation, + "Foo", + fields, + nil, + ) + // NOTE: recursion should be kept - expected.Fields[0].Type = expected + fields[0].Type = expected exportedType := ExportType(ty, map[sema.TypeID]cadence.Type{}) assert.Equal(b, expected, exportedType) diff --git a/runtime/convertValues.go b/runtime/convertValues.go index 488f32755e..ed21ad067a 100644 --- a/runtime/convertValues.go +++ b/runtime/convertValues.go @@ -399,12 +399,12 @@ func exportCompositeValue( // NOTE: use the exported type's fields to ensure fields in type // and value are in sync - fieldNames := t.CompositeFields() + fields := getCompositeTypeFields(t) - makeFields := func() ([]cadence.Value, error) { - fields := make([]cadence.Value, len(fieldNames)) + makeFieldsValues := func() ([]cadence.Value, error) { + fieldValues := make([]cadence.Value, len(fields)) - for i, field := range fieldNames { + for i, field := range fields { fieldName := field.Identifier var fieldValue interpreter.Value @@ -434,7 +434,7 @@ func exportCompositeValue( if err != nil { return nil, err } - fields[i] = exportedFieldValue + fieldValues[i] = exportedFieldValue } if composite, ok := v.(*interpreter.CompositeValue); ok { @@ -448,11 +448,11 @@ func exportCompositeValue( if err != nil { return nil, err } - fields = append(fields, exportedAttachmentValue) + fieldValues = append(fieldValues, exportedAttachmentValue) } } - return fields, nil + return fieldValues, nil } compositeKind := compositeType.Kind @@ -464,8 +464,8 @@ func exportCompositeValue( case common.CompositeKindStructure: structure, err := cadence.NewMeteredStruct( inter, - len(fieldNames), - makeFields, + len(fields), + makeFieldsValues, ) if err != nil { return nil, err @@ -475,8 +475,8 @@ func exportCompositeValue( case common.CompositeKindResource: resource, err := cadence.NewMeteredResource( inter, - len(fieldNames), - makeFields, + len(fields), + makeFieldsValues, ) if err != nil { return nil, err @@ -486,8 +486,8 @@ func exportCompositeValue( case common.CompositeKindAttachment: attachment, err := cadence.NewMeteredAttachment( inter, - len(fieldNames), - makeFields, + len(fields), + makeFieldsValues, ) if err != nil { return nil, err @@ -497,8 +497,8 @@ func exportCompositeValue( case common.CompositeKindEvent: event, err := cadence.NewMeteredEvent( inter, - len(fieldNames), - makeFields, + len(fields), + makeFieldsValues, ) if err != nil { return nil, err @@ -508,8 +508,8 @@ func exportCompositeValue( case common.CompositeKindContract: contract, err := cadence.NewMeteredContract( inter, - len(fieldNames), - makeFields, + len(fields), + makeFieldsValues, ) if err != nil { return nil, err @@ -519,8 +519,8 @@ func exportCompositeValue( case common.CompositeKindEnum: enum, err := cadence.NewMeteredEnum( inter, - len(fieldNames), - makeFields, + len(fields), + makeFieldsValues, ) if err != nil { return nil, err @@ -780,8 +780,11 @@ func ImportValue( }.importValue(value, expectedType) } -//go:linkname getFieldValues github.com/onflow/cadence.getFieldValues -func getFieldValues(cadence.Composite) []cadence.Value +//go:linkname getCompositeFieldValues github.com/onflow/cadence.getCompositeFieldValues +func getCompositeFieldValues(cadence.Composite) []cadence.Value + +//go:linkname getCompositeTypeFields github.com/onflow/cadence.getCompositeTypeFields +func getCompositeTypeFields(cadence.CompositeType) []cadence.Field func (i valueImporter) importValue(value cadence.Value, expectedType sema.Type) (interpreter.Value, error) { switch v := value.(type) { @@ -854,32 +857,32 @@ func (i valueImporter) importValue(value cadence.Value, expectedType sema.Type) common.CompositeKindStructure, v.StructType.Location, v.StructType.QualifiedIdentifier, - v.StructType.Fields, - getFieldValues(v), + getCompositeTypeFields(v.StructType), + getCompositeFieldValues(v), ) case cadence.Resource: return i.importCompositeValue( common.CompositeKindResource, v.ResourceType.Location, v.ResourceType.QualifiedIdentifier, - v.ResourceType.Fields, - getFieldValues(v), + getCompositeTypeFields(v.ResourceType), + getCompositeFieldValues(v), ) case cadence.Event: return i.importCompositeValue( common.CompositeKindEvent, v.EventType.Location, v.EventType.QualifiedIdentifier, - v.EventType.Fields, - getFieldValues(v), + getCompositeTypeFields(v.EventType), + getCompositeFieldValues(v), ) case cadence.Enum: return i.importCompositeValue( common.CompositeKindEnum, v.EnumType.Location, v.EnumType.QualifiedIdentifier, - v.EnumType.Fields, - getFieldValues(v), + getCompositeTypeFields(v.EnumType), + getCompositeFieldValues(v), ) case *cadence.InclusiveRange: return i.importInclusiveRangeValue(v, expectedType) diff --git a/runtime/convertValues_test.go b/runtime/convertValues_test.go index f4460bf9ae..25848d3db1 100644 --- a/runtime/convertValues_test.go +++ b/runtime/convertValues_test.go @@ -83,22 +83,25 @@ func TestRuntimeExportValue(t *testing.T) { } newSignatureAlgorithmType := func() *cadence.EnumType { - return &cadence.EnumType{ - QualifiedIdentifier: "SignatureAlgorithm", - RawType: cadence.UInt8Type, - Fields: []cadence.Field{ + return cadence.NewEnumType( + nil, + "SignatureAlgorithm", + cadence.UInt8Type, + []cadence.Field{ { Identifier: "rawValue", Type: cadence.UInt8Type, }, }, - } + nil, + ) } newPublicKeyType := func(signatureAlgorithmType cadence.Type) *cadence.StructType { - return &cadence.StructType{ - QualifiedIdentifier: "PublicKey", - Fields: []cadence.Field{ + return cadence.NewStructType( + nil, + "PublicKey", + []cadence.Field{ { Identifier: "publicKey", Type: &cadence.VariableSizedArrayType{ @@ -110,20 +113,23 @@ func TestRuntimeExportValue(t *testing.T) { Type: signatureAlgorithmType, }, }, - } + nil, + ) } newHashAlgorithmType := func() *cadence.EnumType { - return &cadence.EnumType{ - QualifiedIdentifier: "HashAlgorithm", - RawType: cadence.UInt8Type, - Fields: []cadence.Field{ + return cadence.NewEnumType( + nil, + "HashAlgorithm", + cadence.UInt8Type, + []cadence.Field{ { Identifier: "rawValue", Type: cadence.UInt8Type, }, }, - } + nil, + ) } testCharacter, _ := cadence.NewCharacter("a") @@ -493,9 +499,10 @@ func TestRuntimeExportValue(t *testing.T) { }).WithType(hashAlgorithmType), cadence.UFix64(10_00000000), cadence.Bool(false), - }).WithType(&cadence.StructType{ - QualifiedIdentifier: "AccountKey", - Fields: []cadence.Field{ + }).WithType(cadence.NewStructType( + nil, + "AccountKey", + []cadence.Field{ { Identifier: "keyIndex", Type: cadence.IntType, @@ -517,7 +524,8 @@ func TestRuntimeExportValue(t *testing.T) { Type: cadence.BoolType, }, }, - }) + nil, + )) }(), }, { @@ -1459,11 +1467,12 @@ func TestRuntimeExportStructValue(t *testing.T) { } ` - fooStructType := &cadence.StructType{ - Location: common.ScriptLocation{}, - QualifiedIdentifier: "Foo", - Fields: fooFields, - } + fooStructType := cadence.NewStructType( + common.ScriptLocation{}, + "Foo", + fooFields, + nil, + ) actual := exportValueFromScript(t, script) expected := cadence.NewStruct([]cadence.Value{ @@ -1531,11 +1540,11 @@ func TestRuntimeExportResourceArrayValue(t *testing.T) { cadence.NewUInt64(2), cadence.NewInt(4), }).WithType(fooResourceType), - }).WithType(&cadence.VariableSizedArrayType{ - ElementType: &cadence.ResourceType{ - Location: common.ScriptLocation{}, - QualifiedIdentifier: "Foo", - Fields: []cadence.Field{ + }).WithType(cadence.NewVariableSizedArrayType( + cadence.NewResourceType( + common.ScriptLocation{}, + "Foo", + []cadence.Field{ { Identifier: "uuid", Type: cadence.UInt64Type, @@ -1545,8 +1554,9 @@ func TestRuntimeExportResourceArrayValue(t *testing.T) { Type: cadence.IntType, }, }, - }, - }) + nil, + ), + )) assert.Equal(t, expected, actual) } @@ -1593,10 +1603,10 @@ func TestRuntimeExportResourceDictionaryValue(t *testing.T) { }, }).WithType(&cadence.DictionaryType{ KeyType: cadence.StringType, - ElementType: &cadence.ResourceType{ - Location: common.ScriptLocation{}, - QualifiedIdentifier: "Foo", - Fields: []cadence.Field{ + ElementType: cadence.NewResourceType( + common.ScriptLocation{}, + "Foo", + []cadence.Field{ { Identifier: "uuid", Type: cadence.UInt64Type, @@ -1606,7 +1616,8 @@ func TestRuntimeExportResourceDictionaryValue(t *testing.T) { Type: cadence.IntType, }, }, - }, + nil, + ), }) assert.Equal(t, expected, actual) @@ -1616,10 +1627,10 @@ func TestRuntimeExportNestedResourceValueFromScript(t *testing.T) { t.Parallel() - barResourceType := &cadence.ResourceType{ - Location: common.ScriptLocation{}, - QualifiedIdentifier: "Bar", - Fields: []cadence.Field{ + barResourceType := cadence.NewResourceType( + common.ScriptLocation{}, + "Bar", + []cadence.Field{ { Identifier: "uuid", Type: cadence.UInt64Type, @@ -1629,12 +1640,13 @@ func TestRuntimeExportNestedResourceValueFromScript(t *testing.T) { Type: cadence.IntType, }, }, - } + nil, + ) - fooResourceType := &cadence.ResourceType{ - Location: common.ScriptLocation{}, - QualifiedIdentifier: "Foo", - Fields: []cadence.Field{ + fooResourceType := cadence.NewResourceType( + common.ScriptLocation{}, + "Foo", + []cadence.Field{ { Identifier: "uuid", Type: cadence.UInt64Type, @@ -1644,7 +1656,8 @@ func TestRuntimeExportNestedResourceValueFromScript(t *testing.T) { Type: barResourceType, }, }, - } + nil, + ) script := ` access(all) resource Bar { @@ -1697,11 +1710,12 @@ func TestRuntimeExportEventValue(t *testing.T) { } ` - fooEventType := &cadence.EventType{ - Location: common.ScriptLocation{}, - QualifiedIdentifier: "Foo", - Fields: fooFields, - } + fooEventType := cadence.NewEventType( + common.ScriptLocation{}, + "Foo", + fooFields, + nil, + ) actual := exportEventFromScript(t, script) expected := cadence.NewEvent([]cadence.Value{ @@ -1724,10 +1738,10 @@ func TestRuntimeExportEventValue(t *testing.T) { } ` - fooEventType := &cadence.EventType{ - Location: common.ScriptLocation{}, - QualifiedIdentifier: "Foo", - Fields: []cadence.Field{ + fooEventType := cadence.NewEventType( + common.ScriptLocation{}, + "Foo", + []cadence.Field{ { Identifier: "bar", Type: cadence.NewReferenceType( @@ -1736,7 +1750,8 @@ func TestRuntimeExportEventValue(t *testing.T) { ), }, }, - } + nil, + ) actual := exportEventFromScript(t, script) expected := cadence.NewEvent([]cadence.Value{ @@ -2022,11 +2037,12 @@ func TestRuntimeExportTypeValue(t *testing.T) { actual := exportValueFromScript(t, script) expected := cadence.TypeValue{ - StaticType: &cadence.StructType{ - QualifiedIdentifier: "S", - Location: common.ScriptLocation{}, - Fields: []cadence.Field{}, - }, + StaticType: cadence.NewStructType( + common.ScriptLocation{}, + "S", + []cadence.Field{}, + nil, + ), } assert.Equal(t, expected, actual) @@ -2113,11 +2129,12 @@ func TestRuntimeExportTypeValue(t *testing.T) { cadence.TypeValue{ StaticType: &cadence.IntersectionType{ Types: []cadence.Type{ - &cadence.StructInterfaceType{ - QualifiedIdentifier: "SI", - Location: TestLocation, - Fields: []cadence.Field{}, - }, + cadence.NewStructInterfaceType( + TestLocation, + "SI", + []cadence.Field{}, + nil, + ), }, }, }, @@ -2196,11 +2213,12 @@ func TestRuntimeExportCapabilityValue(t *testing.T) { expected := cadence.NewCapability( 3, cadence.Address{0x1}, - &cadence.StructType{ - QualifiedIdentifier: "S", - Location: TestLocation, - Fields: []cadence.Field{}, - }, + cadence.NewStructType( + TestLocation, + "S", + []cadence.Field{}, + nil, + ), ) assert.Equal(t, expected, actual) @@ -2227,10 +2245,10 @@ func TestRuntimeExportCompositeValueWithFunctionValueField(t *testing.T) { } ` - fooStructType := &cadence.StructType{ - Location: common.ScriptLocation{}, - QualifiedIdentifier: "Foo", - Fields: []cadence.Field{ + fooStructType := cadence.NewStructType( + common.ScriptLocation{}, + "Foo", + []cadence.Field{ { Identifier: "answer", Type: cadence.IntType, @@ -2242,7 +2260,8 @@ func TestRuntimeExportCompositeValueWithFunctionValueField(t *testing.T) { }, }, }, - } + nil, + ) actual := exportValueFromScript(t, script) @@ -2329,11 +2348,12 @@ var fooResourceFields = []cadence.Field{ } func newFooResourceType() *cadence.ResourceType { - return &cadence.ResourceType{ - Location: common.ScriptLocation{}, - QualifiedIdentifier: "Foo", - Fields: fooResourceFields, - } + return cadence.NewResourceType( + common.ScriptLocation{}, + "Foo", + fooResourceFields, + nil, + ) } func TestRuntimeEnumValue(t *testing.T) { @@ -2343,17 +2363,18 @@ func TestRuntimeEnumValue(t *testing.T) { newEnumValue := func() cadence.Enum { return cadence.NewEnum([]cadence.Value{ cadence.NewInt(3), - }).WithType(&cadence.EnumType{ - Location: common.ScriptLocation{}, - QualifiedIdentifier: "Direction", - Fields: []cadence.Field{ + }).WithType(cadence.NewEnumType( + common.ScriptLocation{}, + "Direction", + cadence.IntType, + []cadence.Field{ { Identifier: sema.EnumRawValueFieldName, Type: cadence.IntType, }, }, - RawType: cadence.IntType, - }) + nil, + )) } t.Run("test export", func(t *testing.T) { @@ -2708,10 +2729,10 @@ func TestRuntimeComplexStructArgumentPassing(t *testing.T) { t.Parallel() // Complex struct value - structType := &cadence.StructType{ - Location: common.ScriptLocation{}, - QualifiedIdentifier: "Foo", - Fields: []cadence.Field{ + structType := cadence.NewStructType( + common.ScriptLocation{}, + "Foo", + []cadence.Field{ { Identifier: "a", Type: &cadence.OptionalType{ @@ -2767,7 +2788,9 @@ func TestRuntimeComplexStructArgumentPassing(t *testing.T) { Type: cadence.HashableStructType, }, }, - } + nil, + ) + complexStructValue := cadence.NewStruct([]cadence.Value{ cadence.NewOptional( cadence.String("John"), @@ -2867,10 +2890,10 @@ func TestRuntimeComplexStructWithAnyStructFields(t *testing.T) { t.Parallel() // Complex struct value - structType := &cadence.StructType{ - Location: common.ScriptLocation{}, - QualifiedIdentifier: "Foo", - Fields: []cadence.Field{ + structType := cadence.NewStructType( + common.ScriptLocation{}, + "Foo", + []cadence.Field{ { Identifier: "a", Type: &cadence.OptionalType{ @@ -2902,7 +2925,9 @@ func TestRuntimeComplexStructWithAnyStructFields(t *testing.T) { Type: cadence.AnyStructType, }, }, - } + nil, + ) + complexStructValue := cadence.NewStruct([]cadence.Value{ cadence.NewOptional(cadence.String("John")), cadence.NewDictionary([]cadence.KeyValuePair{ @@ -2974,10 +2999,10 @@ func TestRuntimeComplexStructWithHashableStructFields(t *testing.T) { t.Parallel() // Complex struct value - structType := &cadence.StructType{ - Location: common.ScriptLocation{}, - QualifiedIdentifier: "Foo", - Fields: []cadence.Field{ + structType := cadence.NewStructType( + common.ScriptLocation{}, + "Foo", + []cadence.Field{ { Identifier: "a", Type: &cadence.OptionalType{ @@ -3009,7 +3034,9 @@ func TestRuntimeComplexStructWithHashableStructFields(t *testing.T) { Type: cadence.HashableStructType, }, }, - } + nil, + ) + complexStructValue := cadence.NewStruct([]cadence.Value{ cadence.NewOptional(cadence.String("John")), cadence.NewDictionary([]cadence.KeyValuePair{ @@ -3082,16 +3109,17 @@ func TestRuntimeMalformedArgumentPassing(t *testing.T) { // Struct with wrong field type newMalformedStructType1 := func() *cadence.StructType { - return &cadence.StructType{ - Location: common.ScriptLocation{}, - QualifiedIdentifier: "Foo", - Fields: []cadence.Field{ + return cadence.NewStructType( + common.ScriptLocation{}, + "Foo", + []cadence.Field{ { Identifier: "a", Type: cadence.IntType, }, }, - } + nil, + ) } newMalformedStruct1 := func() cadence.Struct { @@ -3105,16 +3133,17 @@ func TestRuntimeMalformedArgumentPassing(t *testing.T) { newMalformedStruct2 := func() cadence.Struct { return cadence.NewStruct([]cadence.Value{ cadence.String("John"), - }).WithType(&cadence.StructType{ - Location: common.ScriptLocation{}, - QualifiedIdentifier: "Foo", - Fields: []cadence.Field{ + }).WithType(cadence.NewStructType( + common.ScriptLocation{}, + "Foo", + []cadence.Field{ { Identifier: "nonExisting", Type: cadence.StringType, }, }, - }) + nil, + )) } // Struct with nested malformed array value @@ -3123,10 +3152,10 @@ func TestRuntimeMalformedArgumentPassing(t *testing.T) { cadence.NewArray([]cadence.Value{ newMalformedStruct1(), }), - }).WithType(&cadence.StructType{ - Location: common.ScriptLocation{}, - QualifiedIdentifier: "Bar", - Fields: []cadence.Field{ + }).WithType(cadence.NewStructType( + common.ScriptLocation{}, + "Bar", + []cadence.Field{ { Identifier: "a", Type: &cadence.VariableSizedArrayType{ @@ -3134,7 +3163,8 @@ func TestRuntimeMalformedArgumentPassing(t *testing.T) { }, }, }, - }) + nil, + )) } // Struct with nested malformed dictionary value @@ -3146,10 +3176,10 @@ func TestRuntimeMalformedArgumentPassing(t *testing.T) { Value: newMalformedStruct1(), }, }), - }).WithType(&cadence.StructType{ - Location: common.ScriptLocation{}, - QualifiedIdentifier: "Baz", - Fields: []cadence.Field{ + }).WithType(cadence.NewStructType( + common.ScriptLocation{}, + "Baz", + []cadence.Field{ { Identifier: "a", Type: &cadence.DictionaryType{ @@ -3158,7 +3188,8 @@ func TestRuntimeMalformedArgumentPassing(t *testing.T) { }, }, }, - }) + nil, + )) } // Struct with nested array with mismatching element type @@ -3167,10 +3198,10 @@ func TestRuntimeMalformedArgumentPassing(t *testing.T) { cadence.NewArray([]cadence.Value{ cadence.String("mismatching value"), }), - }).WithType(&cadence.StructType{ - Location: common.ScriptLocation{}, - QualifiedIdentifier: "Bar", - Fields: []cadence.Field{ + }).WithType(cadence.NewStructType( + common.ScriptLocation{}, + "Bar", + []cadence.Field{ { Identifier: "a", Type: &cadence.VariableSizedArrayType{ @@ -3178,7 +3209,8 @@ func TestRuntimeMalformedArgumentPassing(t *testing.T) { }, }, }, - }) + nil, + )) } type argumentPassingTest struct { @@ -4004,12 +4036,12 @@ func TestRuntimeTypeValueImport(t *testing.T) { t.Parallel() - typeValue := cadence.NewTypeValue(&cadence.StructType{ - QualifiedIdentifier: "S", - Location: TestLocation, - Fields: []cadence.Field{}, - Initializers: [][]cadence.Parameter{}, - }) + typeValue := cadence.NewTypeValue(cadence.NewStructType( + TestLocation, + "S", + []cadence.Field{}, + [][]cadence.Parameter{}, + )) script := ` access(all) fun main(s: Type) { @@ -4134,12 +4166,12 @@ func TestRuntimeCapabilityValueImport(t *testing.T) { t.Parallel() - borrowType := &cadence.StructType{ - QualifiedIdentifier: "S", - Location: TestLocation, - Fields: []cadence.Field{}, - Initializers: [][]cadence.Parameter{}, - } + borrowType := cadence.NewStructType( + TestLocation, + "S", + []cadence.Field{}, + [][]cadence.Parameter{}, + ) capabilityValue := cadence.NewCapability( 42, @@ -4882,16 +4914,17 @@ func TestRuntimeImportExportComplex(t *testing.T) { ), ) - externalCompositeType := &cadence.StructType{ - Location: TestLocation, - QualifiedIdentifier: "Foo", - Fields: []cadence.Field{ + externalCompositeType := cadence.NewStructType( + TestLocation, + "Foo", + []cadence.Field{ { Identifier: "dictionary", Type: externalDictionaryType, }, }, - } + nil, + ) internalCompositeValueFields := []interpreter.CompositeField{ { @@ -4988,16 +5021,17 @@ func TestRuntimeStaticTypeAvailability(t *testing.T) { cadence.String("foo"), cadence.String("bar"), }), - }).WithType(&cadence.StructType{ - Location: common.ScriptLocation{}, - QualifiedIdentifier: "Foo", - Fields: []cadence.Field{ + }).WithType(cadence.NewStructType( + common.ScriptLocation{}, + "Foo", + []cadence.Field{ { Identifier: "a", Type: cadence.AnyStructType, }, }, - }) + nil, + )) _, err := executeTestScript(t, script, structValue) require.NoError(t, err) @@ -5024,16 +5058,17 @@ func TestRuntimeStaticTypeAvailability(t *testing.T) { Value: cadence.String("bar"), }, }), - }).WithType(&cadence.StructType{ - Location: common.ScriptLocation{}, - QualifiedIdentifier: "Foo", - Fields: []cadence.Field{ + }).WithType(cadence.NewStructType( + common.ScriptLocation{}, + "Foo", + []cadence.Field{ { Identifier: "a", Type: cadence.AnyStructType, }, }, - }) + nil, + )) _, err := executeTestScript(t, script, structValue) require.NoError(t, err) @@ -5297,15 +5332,17 @@ func TestRuntimeDeploymentResultTypeImportExport(t *testing.T) { rt := NewTestInterpreterRuntime() - typeValue := cadence.NewTypeValue(&cadence.StructType{ - QualifiedIdentifier: "DeploymentResult", - Fields: []cadence.Field{ + typeValue := cadence.NewTypeValue(cadence.NewStructType( + nil, + "DeploymentResult", + []cadence.Field{ { Type: cadence.NewOptionalType(cadence.DeployedContractType), Identifier: "deployedContract", }, }, - }) + nil, + )) encodedArg, err := json.Encode(typeValue) require.NoError(t, err) @@ -5356,15 +5393,17 @@ func TestRuntimeDeploymentResultTypeImportExport(t *testing.T) { require.NoError(t, err) assert.Equal(t, - cadence.NewTypeValue(&cadence.StructType{ - QualifiedIdentifier: "DeploymentResult", - Fields: []cadence.Field{ + cadence.NewTypeValue(cadence.NewStructType( + nil, + "DeploymentResult", + []cadence.Field{ { Type: cadence.NewOptionalType(cadence.DeployedContractType), Identifier: "deployedContract", }, }, - }), + nil, + )), result, ) }) diff --git a/runtime/coverage_test.go b/runtime/coverage_test.go index 2ec8aa643e..05fed6e3aa 100644 --- a/runtime/coverage_test.go +++ b/runtime/coverage_test.go @@ -32,6 +32,7 @@ import ( "github.com/onflow/cadence/runtime/parser" "github.com/onflow/cadence/runtime/stdlib" . "github.com/onflow/cadence/runtime/tests/runtime_utils" + "github.com/onflow/cadence/runtime/tests/utils" ) func TestRuntimeNewLocationCoverage(t *testing.T) { @@ -1768,7 +1769,7 @@ func TestRuntimeCoverageWithNoStatements(t *testing.T) { t.Parallel() - importedScript := []byte(` + contract := []byte(` access(all) contract FooContract { access(all) resource interface Receiver { } @@ -1776,7 +1777,7 @@ func TestRuntimeCoverageWithNoStatements(t *testing.T) { `) script := []byte(` - import "FooContract" + import FooContract from 0x1 access(all) fun main(): Int { Type<@{FooContract.Receiver}>().identifier return 42 @@ -1784,30 +1785,58 @@ func TestRuntimeCoverageWithNoStatements(t *testing.T) { `) coverageReport := NewCoverageReport() + runtime := NewInterpreterRuntime(Config{ + CoverageReport: coverageReport, + }) - scriptlocation := common.ScriptLocation{0x1b, 0x2c} + scriptLocation := common.ScriptLocation{0x1b, 0x2c} + + transactionLocation := NewTransactionLocationGenerator() + txLocation := transactionLocation() + + authorizers := []Address{{0, 0, 0, 0, 0, 0, 0, 1}} + accountCodes := map[Location][]byte{} runtimeInterface := &TestRuntimeInterface{ - OnGetCode: func(location Location) (bytes []byte, err error) { - switch location { - case common.StringLocation("FooContract"): - return importedScript, nil - default: - return nil, fmt.Errorf("unknown import location: %s", location) - } + Storage: NewTestLedger(nil, nil), + OnUpdateAccountContractCode: func(location common.AddressLocation, code []byte) error { + accountCodes[location] = code + return nil + }, + OnGetAccountContractCode: func(location common.AddressLocation) (code []byte, err error) { + return accountCodes[location], nil + }, + OnGetSigningAccounts: func() ([]Address, error) { + return authorizers, nil + }, + OnEmitEvent: func(event cadence.Event) error { + return nil }, + OnResolveLocation: NewSingleIdentifierLocationResolver(t), } - runtime := NewInterpreterRuntime(Config{ - CoverageReport: coverageReport, - }) - coverageReport.ExcludeLocation(scriptlocation) + + coverageReport.ExcludeLocation(txLocation) + deploy := utils.DeploymentTransaction("FooContract", contract) + err := runtime.ExecuteTransaction( + Script{ + Source: deploy, + }, + Context{ + Interface: runtimeInterface, + Location: txLocation, + CoverageReport: coverageReport, + }, + ) + require.NoError(t, err) + + coverageReport.ExcludeLocation(scriptLocation) value, err := runtime.ExecuteScript( Script{ Source: script, }, Context{ Interface: runtimeInterface, - Location: scriptlocation, + Location: scriptLocation, CoverageReport: coverageReport, }, ) diff --git a/runtime/crypto_test.go b/runtime/crypto_test.go index ce98dabd60..6cf6e1cec7 100644 --- a/runtime/crypto_test.go +++ b/runtime/crypto_test.go @@ -361,16 +361,18 @@ func TestRuntimeSignatureAlgorithmImport(t *testing.T) { Arguments: encodeArgs([]cadence.Value{ cadence.NewEnum([]cadence.Value{ cadence.UInt8(algo.RawValue()), - }).WithType(&cadence.EnumType{ - QualifiedIdentifier: "SignatureAlgorithm", - RawType: cadence.UInt8Type, - Fields: []cadence.Field{ + }).WithType(cadence.NewEnumType( + nil, + "SignatureAlgorithm", + cadence.UInt8Type, + []cadence.Field{ { Identifier: "rawValue", Type: cadence.UInt8Type, }, }, - }), + nil, + )), }), }, Context{ @@ -440,16 +442,18 @@ func TestRuntimeHashAlgorithmImport(t *testing.T) { Arguments: encodeArgs([]cadence.Value{ cadence.NewEnum([]cadence.Value{ cadence.UInt8(algo.RawValue()), - }).WithType(&cadence.EnumType{ - QualifiedIdentifier: "HashAlgorithm", - RawType: cadence.UInt8Type, - Fields: []cadence.Field{ + }).WithType(cadence.NewEnumType( + nil, + "HashAlgorithm", + cadence.UInt8Type, + []cadence.Field{ { Identifier: "rawValue", Type: cadence.UInt8Type, }, }, - }), + nil, + )), }), }, Context{ @@ -799,7 +803,7 @@ func TestRuntimeTraversingMerkleProof(t *testing.T) { return hex.DecodeString("b6979620706f8c652cfb6bf6e923f5156eadd5abaf4022a0b19d52ada089475f") } - return nil, errors.New("Unknown input to the hash method") + return nil, errors.New("unknown input to the hash method") }, OnProgramLog: func(message string) { logMessages = append(logMessages, message) diff --git a/runtime/import_test.go b/runtime/import_test.go index 077d6ae56e..9b4de3be58 100644 --- a/runtime/import_test.go +++ b/runtime/import_test.go @@ -406,3 +406,96 @@ func TestRuntimeCheckCyclicImportToSelfDuringDeploy(t *testing.T) { errs := checker.RequireCheckerErrors(t, checkerErr, 1) require.IsType(t, &sema.CyclicImportsError{}, errs[0]) } + +func TestRuntimeContractImport(t *testing.T) { + + t.Parallel() + + addressValue := Address{ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, + } + + runtime := NewTestInterpreterRuntime() + + contract := []byte(` + access(all) contract Foo { + access(all) let x: [Int] + + access(all) fun answer(): Int { + return 42 + } + + access(all) struct Bar {} + + init() { + self.x = [] + } + }`, + ) + + deploy := DeploymentTransaction("Foo", contract) + + script := []byte(` + import Foo from 0x01 + + access(all) fun main() { + var foo: &Foo = Foo + var x: &[Int] = Foo.x + var bar: Foo.Bar = Foo.Bar() + } + `) + + accountCodes := map[Location][]byte{} + var events []cadence.Event + + runtimeInterface := &TestRuntimeInterface{ + OnGetCode: func(location Location) (bytes []byte, err error) { + return accountCodes[location], nil + }, + Storage: NewTestLedger(nil, nil), + OnGetSigningAccounts: func() ([]Address, error) { + return []Address{addressValue}, nil + }, + OnResolveLocation: NewSingleIdentifierLocationResolver(t), + OnGetAccountContractCode: func(location common.AddressLocation) (code []byte, err error) { + return accountCodes[location], nil + }, + OnUpdateAccountContractCode: func(location common.AddressLocation, code []byte) error { + accountCodes[location] = code + return nil + }, + OnCreateAccount: func(payer Address) (address Address, err error) { + return addressValue, nil + }, + OnEmitEvent: func(event cadence.Event) error { + events = append(events, event) + return nil + }, + } + + nextTransactionLocation := NewTransactionLocationGenerator() + + err := runtime.ExecuteTransaction( + Script{ + Source: deploy, + }, + Context{ + Interface: runtimeInterface, + Location: nextTransactionLocation(), + }, + ) + require.NoError(t, err) + + nextScriptLocation := NewScriptLocationGenerator() + + _, err = runtime.ExecuteScript( + Script{ + Source: script, + }, + Context{ + Interface: runtimeInterface, + Location: nextScriptLocation(), + }, + ) + require.NoError(t, err) +} diff --git a/runtime/interpreter/interpreter.go b/runtime/interpreter/interpreter.go index adf8729bd8..f49f0d80fd 100644 --- a/runtime/interpreter/interpreter.go +++ b/runtime/interpreter/interpreter.go @@ -3909,7 +3909,7 @@ var runtimeTypeConstructors = []runtimeTypeConstructor{ ), }, { - name: "InclusiveRangeType", + name: sema.InclusiveRangeTypeFunctionName, converter: NewUnmeteredStaticHostFunctionValue( sema.InclusiveRangeTypeFunctionType, func(invocation Invocation) Value { diff --git a/runtime/interpreter/interpreter_import.go b/runtime/interpreter/interpreter_import.go index 62323435d4..1318a43466 100644 --- a/runtime/interpreter/interpreter_import.go +++ b/runtime/interpreter/interpreter_import.go @@ -23,6 +23,7 @@ import ( "time" "github.com/onflow/cadence/runtime/ast" + "github.com/onflow/cadence/runtime/common" "github.com/onflow/cadence/runtime/sema" ) @@ -83,9 +84,40 @@ func (interpreter *Interpreter) importResolvedLocation(resolvedLocation sema.Res for _, name := range names { variable := variables[name] + if variable == nil { + continue + } - interpreter.setVariable(name, variable) - interpreter.Globals.Set(name, variable) - } + // Lazily load the value + getter := func() Value { + value := variable.GetValue(interpreter) + + // If the variable is a contract value, then import it as a reference. + // This must be done at the type of importing, rather than when declaring the contract value. + compositeValue, ok := value.(*CompositeValue) + if !ok || compositeValue.Kind != common.CompositeKindContract { + return value + } + + staticType := compositeValue.StaticType(interpreter) + semaType, err := interpreter.ConvertStaticToSemaType(staticType) + if err != nil { + panic(err) + } + + return NewEphemeralReferenceValue( + interpreter, + UnauthorizedAccess, + compositeValue, + semaType, + LocationRange{ + Location: interpreter.Location, + }, + ) + } + importedVariable := NewVariableWithGetter(interpreter, getter) + interpreter.setVariable(name, importedVariable) + interpreter.Globals.Set(name, importedVariable) + } } diff --git a/runtime/parser/declaration_test.go b/runtime/parser/declaration_test.go index 9c34532c43..9f3544050f 100644 --- a/runtime/parser/declaration_test.go +++ b/runtime/parser/declaration_test.go @@ -9642,7 +9642,7 @@ func TestSoftKeywordsInFunctionDeclaration(t *testing.T) { }) } - for _, keyword := range softKeywords { + for _, keyword := range SoftKeywords { testSoftKeyword(keyword) } } diff --git a/runtime/parser/expression_test.go b/runtime/parser/expression_test.go index d82cc21ec8..f93e0769d4 100644 --- a/runtime/parser/expression_test.go +++ b/runtime/parser/expression_test.go @@ -6496,7 +6496,7 @@ func TestParseIdentifiers(t *testing.T) { func TestParseHardKeywords(t *testing.T) { t.Parallel() - testParseIdentifiersWith(t, hardKeywords, func(t *testing.T, keyword string, err error) { + testParseIdentifiersWith(t, HardKeywords, func(t *testing.T, keyword string, err error) { utils.AssertEqualWithDiff(t, []error{ &SyntaxError{ @@ -6512,7 +6512,7 @@ func TestParseHardKeywords(t *testing.T) { func TestParseSoftKeywords(t *testing.T) { t.Parallel() - testParseIdentifiersWith(t, softKeywords, func(t *testing.T, _ string, err error) { + testParseIdentifiersWith(t, SoftKeywords, func(t *testing.T, _ string, err error) { require.Empty(t, err) }) } diff --git a/runtime/parser/keyword.go b/runtime/parser/keyword.go index 401c351c70..e7b4f4f3de 100644 --- a/runtime/parser/keyword.go +++ b/runtime/parser/keyword.go @@ -168,9 +168,9 @@ var allKeywords = []string{ KeywordIs, } -// softKeywords are keywords that can be used as identifiers anywhere, +// SoftKeywords are keywords that can be used as identifiers anywhere, // without any restriction or ambiguity. -var softKeywords = []string{ +var SoftKeywords = []string{ KeywordFrom, KeywordAccount, KeywordAll, @@ -181,12 +181,12 @@ var softKeywords = []string{ KeywordType, } -var softKeywordsTable = mph.Build(softKeywords) +var softKeywordsTable = mph.Build(SoftKeywords) -// hardKeywords are restricted from being used as identifiers in certain places. +// HardKeywords are restricted from being used as identifiers in certain places. // i.e: places where ambiguity can exist, such as composite declaration names, function names, etc. // However, they are not restricted to be used as fields names, and many other places. -var hardKeywords = filter( +var HardKeywords = filter( allKeywords, func(keyword string) bool { _, ok := softKeywordsTable.Lookup(keyword) @@ -194,7 +194,7 @@ var hardKeywords = filter( }, ) -var hardKeywordsTable = mph.Build(hardKeywords) +var hardKeywordsTable = mph.Build(HardKeywords) func IsHardKeyword(identifier string) bool { _, ok := hardKeywordsTable.Lookup(identifier) diff --git a/runtime/parser/statement_test.go b/runtime/parser/statement_test.go index 996cec1c3b..02596a8980 100644 --- a/runtime/parser/statement_test.go +++ b/runtime/parser/statement_test.go @@ -2690,7 +2690,7 @@ func TestSoftKeywordsInStatement(t *testing.T) { }) } - for _, keyword := range softKeywords { + for _, keyword := range SoftKeywords { // it's not worth the additional complexity to support assigning to `remove` or `attach`-named // variables, so we just accept this as a parsing error if keyword == KeywordAttach || keyword == KeywordRemove { diff --git a/runtime/program_params_validation_test.go b/runtime/program_params_validation_test.go index 4d3d041672..ba746b9aa2 100644 --- a/runtime/program_params_validation_test.go +++ b/runtime/program_params_validation_test.go @@ -59,19 +59,22 @@ func TestRuntimeScriptParameterTypeValidation(t *testing.T) { newFooStruct := func() cadence.Struct { return cadence.NewStruct([]cadence.Value{}). - WithType(&cadence.StructType{ - Location: common.ScriptLocation{}, - QualifiedIdentifier: "Foo", - Fields: []cadence.Field{}, - }) + WithType(cadence.NewStructType( + common.ScriptLocation{}, + "Foo", + []cadence.Field{}, + nil, + )) } newPublicAccountKeys := func() cadence.Struct { return cadence.NewStruct([]cadence.Value{}). - WithType(&cadence.StructType{ - QualifiedIdentifier: "Account.Keys", - Fields: []cadence.Field{}, - }) + WithType(cadence.NewStructType( + nil, + "Account.Keys", + []cadence.Field{}, + nil, + )) } executeScript := func(t *testing.T, script string, arg cadence.Value) (err error) { @@ -666,22 +669,25 @@ func TestRuntimeTransactionParameterTypeValidation(t *testing.T) { newFooStruct := func() cadence.Struct { return cadence.NewStruct([]cadence.Value{}). - WithType(&cadence.StructType{ - Location: common.AddressLocation{ + WithType(cadence.NewStructType( + common.AddressLocation{ Address: common.MustBytesToAddress([]byte{0x1}), Name: "C", }, - QualifiedIdentifier: "C.Foo", - Fields: []cadence.Field{}, - }) + "C.Foo", + []cadence.Field{}, + nil, + )) } newPublicAccountKeys := func() cadence.Struct { return cadence.NewStruct([]cadence.Value{}). - WithType(&cadence.StructType{ - QualifiedIdentifier: "Account.Keys", - Fields: []cadence.Field{}, - }) + WithType(cadence.NewStructType( + nil, + "Account.Keys", + []cadence.Field{}, + nil, + )) } executeTransaction := func( @@ -698,18 +704,49 @@ func TestRuntimeTransactionParameterTypeValidation(t *testing.T) { storage := NewTestLedger(nil, nil) + authorizers := []Address{{0, 0, 0, 0, 0, 0, 0, 1}} + accountCodes := map[Location][]byte{} + runtimeInterface := &TestRuntimeInterface{ Storage: storage, OnResolveLocation: NewSingleIdentifierLocationResolver(t), + OnUpdateAccountContractCode: func(location common.AddressLocation, code []byte) error { + accountCodes[location] = code + return nil + }, OnGetAccountContractCode: func(location common.AddressLocation) (code []byte, err error) { - return contracts[location], nil + return accountCodes[location], nil }, OnDecodeArgument: func(b []byte, t cadence.Type) (value cadence.Value, err error) { return json.Decode(nil, b) }, + OnEmitEvent: func(event cadence.Event) error { + return nil + }, + OnGetSigningAccounts: func() ([]Address, error) { + return authorizers, nil + }, } addPublicKeyValidation(runtimeInterface, nil) + transactionLocation := NewTransactionLocationGenerator() + for location, contract := range contracts { + deploy := DeploymentTransaction(location.Name, contract) + err := rt.ExecuteTransaction( + Script{ + Source: deploy, + }, + Context{ + Interface: runtimeInterface, + Location: transactionLocation(), + }, + ) + + require.NoError(t, err) + } + + authorizers = nil + return rt.ExecuteTransaction( Script{ Source: []byte(script), @@ -717,7 +754,7 @@ func TestRuntimeTransactionParameterTypeValidation(t *testing.T) { }, Context{ Interface: runtimeInterface, - Location: common.TransactionLocation{}, + Location: transactionLocation(), }, ) } @@ -1262,19 +1299,20 @@ func TestRuntimeTransactionParameterTypeValidation(t *testing.T) { arg := cadence.NewStruct([]cadence.Value{ capability, - }).WithType(&cadence.StructType{ - Location: common.AddressLocation{ + }).WithType(cadence.NewStructType( + common.AddressLocation{ Address: address, Name: "C", }, - QualifiedIdentifier: "C.S", - Fields: []cadence.Field{ + "C.S", + []cadence.Field{ { Identifier: "cap", Type: &cadence.CapabilityType{}, }, }, - }) + nil, + )) err := executeTransaction(t, script, contracts, arg) expectRuntimeError(t, err, &ArgumentNotImportableError{}) diff --git a/runtime/resource_duplicate_test.go b/runtime/resource_duplicate_test.go index 9de1e0fc28..6e83361c07 100644 --- a/runtime/resource_duplicate_test.go +++ b/runtime/resource_duplicate_test.go @@ -29,12 +29,13 @@ import ( "github.com/onflow/cadence/encoding/json" . "github.com/onflow/cadence/runtime" "github.com/onflow/cadence/runtime/common" + "github.com/onflow/cadence/runtime/interpreter" "github.com/onflow/cadence/runtime/sema" . "github.com/onflow/cadence/runtime/tests/runtime_utils" . "github.com/onflow/cadence/runtime/tests/utils" ) -func TestRuntimeResourceDuplicationWithContractTransfer(t *testing.T) { +func TestRuntimeResourceDuplicationWithContractTransferInTransaction(t *testing.T) { t.Parallel() @@ -171,17 +172,21 @@ func TestRuntimeResourceDuplicationWithContractTransfer(t *testing.T) { // Move vault into the contract Holder.setContent(<-vault) - // Save the contract into storage (invalid, even if same account) + // Save the contract reference into storage. + // This won't error, since the validation happens at the end of the transaction. acct.storage.save(Holder as AnyStruct, to: /storage/holder) // Move vault back out of the contract let vault2 <- Holder.swapContent(nil) let unwrappedVault2 <- vault2! - // Load the contract back from storage - let dupeContract = acct.storage.load(from: /storage/holder)! as! Holder + // Load the contract reference back from storage. + // Given the value is a reference, this won't duplicate the contract value. + let dupeContract = acct.storage.load(from: /storage/holder)! as! &Holder - // Move the vault of of the duplicated contract + // Move the vault of of the contract. + // The 'dupeVault' must be nil, since it was moved out of the contract + // in the above step. let dupeVault <- dupeContract.swapContent(nil) let unwrappedDupeVault <- dupeVault! @@ -204,6 +209,162 @@ func TestRuntimeResourceDuplicationWithContractTransfer(t *testing.T) { ) RequireError(t, err) + var forceNilError interpreter.ForceNilError + require.ErrorAs(t, err, &forceNilError) +} + +func TestRuntimeResourceDuplicationWithContractTransferInSameContract(t *testing.T) { + + t.Parallel() + + runtime := NewTestInterpreterRuntime() + + accountCodes := map[common.Location][]byte{} + + var events []cadence.Event + + signerAccount := common.MustBytesToAddress([]byte{0x1}) + + storage := NewTestLedger(nil, nil) + + runtimeInterface := &TestRuntimeInterface{ + OnGetCode: func(location Location) (bytes []byte, err error) { + return accountCodes[location], nil + }, + Storage: storage, + OnGetSigningAccounts: func() ([]Address, error) { + return []Address{signerAccount}, nil + }, + OnResolveLocation: NewSingleIdentifierLocationResolver(t), + OnGetAccountContractCode: func(location common.AddressLocation) (code []byte, err error) { + return accountCodes[location], nil + }, + OnUpdateAccountContractCode: func(location common.AddressLocation, code []byte) error { + accountCodes[location] = code + return nil + }, + OnEmitEvent: func(event cadence.Event) error { + events = append(events, event) + return nil + }, + OnDecodeArgument: func(b []byte, t cadence.Type) (value cadence.Value, err error) { + return json.Decode(nil, b) + }, + } + + nextTransactionLocation := NewTransactionLocationGenerator() + + // Deploy Fungible Token contract + + err := runtime.ExecuteTransaction( + Script{ + Source: DeploymentTransaction( + "FungibleToken", + []byte(modifiedFungibleTokenContractInterface), + ), + }, + Context{ + Interface: runtimeInterface, + Location: nextTransactionLocation(), + }, + ) + require.NoError(t, err) + + // Deploy Flow Token contract + + err = runtime.ExecuteTransaction( + Script{ + Source: []byte(fmt.Sprintf( + ` + transaction { + + prepare(signer: auth(Storage, Contracts, Capabilities) &Account) { + signer.contracts.add(name: "FlowToken", code: "%s".decodeHex(), signer) + } + } + `, + hex.EncodeToString([]byte(modifiedFlowContract)), + )), + }, + Context{ + Interface: runtimeInterface, + Location: nextTransactionLocation(), + }, + ) + require.NoError(t, err) + + // Deploy Holder contract + + signerAccount = common.MustBytesToAddress([]byte{0x2}) + + const holderContract = ` + import FlowToken from 0x1 + + access(all) contract Holder { + + access(all) var content: @FlowToken.Vault? + + init() { + self.content <- nil + } + + access(all) fun setContent(_ vault: @FlowToken.Vault?) { + self.content <-! vault + } + + access(all) fun swapContent(_ vault: @FlowToken.Vault?): @FlowToken.Vault? { + let oldVault <- self.content <- vault + return <-oldVault + } + + access(all) fun duplicate(acct: auth(Storage) &Account) { + // Create vault + let vault <- FlowToken.createEmptyVault() as! @FlowToken.Vault? + + // Move vault into the contract + Holder.setContent(<-vault) + + // Save the contract into storage (invalid, even if same account). + // Given here it access the enclosing contract itself (not an imported contract), + // the concrete contract value is available. + acct.storage.save(Holder as AnyStruct, to: /storage/holder) + + // Move vault back out of the contract + let vault2 <- Holder.swapContent(nil) + let unwrappedVault2 <- vault2! + + // Load the contract reference back from storage. + // Given the value is a reference, this won't duplicate the contract value. + let dupeContract = acct.storage.load(from: /storage/holder)! as! &Holder + + // Move the vault of of the contract. + // The 'dupeVault' must be nil, since it was moved out of the contract + // in the above step. + let dupeVault <- dupeContract.swapContent(nil) + let unwrappedDupeVault <- dupeVault! + + // Deposit the duplicated vault into the original vault + unwrappedVault2.deposit(from: <- unwrappedDupeVault) + + destroy unwrappedVault2 + } + + } + ` + err = runtime.ExecuteTransaction( + Script{ + Source: DeploymentTransaction( + "Holder", + []byte(holderContract), + ), + }, + Context{ + Interface: runtimeInterface, + Location: nextTransactionLocation(), + }, + ) + RequireError(t, err) + var invalidMoveError *sema.InvalidMoveError require.ErrorAs(t, err, &invalidMoveError) } diff --git a/runtime/runtime_test.go b/runtime/runtime_test.go index 2a4f4c86ac..648fdda6ce 100644 --- a/runtime/runtime_test.go +++ b/runtime/runtime_test.go @@ -640,19 +640,20 @@ func TestRuntimeTransactionWithArguments(t *testing.T) { args: encodeArgs([]cadence.Value{ cadence. NewStruct([]cadence.Value{cadence.String("bar")}). - WithType(&cadence.StructType{ - Location: common.AddressLocation{ + WithType(cadence.NewStructType( + common.AddressLocation{ Address: common.MustBytesToAddress([]byte{0x1}), Name: "C", }, - QualifiedIdentifier: "C.Foo", - Fields: []cadence.Field{ + "C.Foo", + []cadence.Field{ { Identifier: "y", Type: cadence.StringType, }, }, - }), + nil, + )), }), expectedLogs: []string{`"bar"`}, }, @@ -688,19 +689,20 @@ func TestRuntimeTransactionWithArguments(t *testing.T) { cadence.NewArray([]cadence.Value{ cadence. NewStruct([]cadence.Value{cadence.String("bar")}). - WithType(&cadence.StructType{ - Location: common.AddressLocation{ + WithType(cadence.NewStructType( + common.AddressLocation{ Address: common.MustBytesToAddress([]byte{0x1}), Name: "C", }, - QualifiedIdentifier: "C.Foo", - Fields: []cadence.Field{ + "C.Foo", + []cadence.Field{ { Identifier: "y", Type: cadence.StringType, }, }, - }), + nil, + )), }), }), expectedLogs: []string{`"bar"`}, @@ -717,14 +719,21 @@ func TestRuntimeTransactionWithArguments(t *testing.T) { storage := NewTestLedger(nil, nil) + authorizers := []Address{{0, 0, 0, 0, 0, 0, 0, 1}} + accountCodes := map[Location][]byte{} + runtimeInterface := &TestRuntimeInterface{ Storage: storage, OnGetSigningAccounts: func() ([]Address, error) { - return tc.authorizers, nil + return authorizers, nil }, OnResolveLocation: NewSingleIdentifierLocationResolver(t), OnGetAccountContractCode: func(location common.AddressLocation) (code []byte, err error) { - return tc.contracts[location], nil + return accountCodes[location], nil + }, + OnUpdateAccountContractCode: func(location common.AddressLocation, code []byte) error { + accountCodes[location] = code + return nil }, OnProgramLog: func(message string) { loggedMessages = append(loggedMessages, message) @@ -732,8 +741,29 @@ func TestRuntimeTransactionWithArguments(t *testing.T) { OnDecodeArgument: func(b []byte, t cadence.Type) (cadence.Value, error) { return json.Decode(nil, b) }, + OnEmitEvent: func(event cadence.Event) error { + return nil + }, } + transactionLocation := NewTransactionLocationGenerator() + for location, contract := range tc.contracts { + deploy := DeploymentTransaction(location.Name, contract) + err := rt.ExecuteTransaction( + Script{ + Source: deploy, + }, + Context{ + Interface: runtimeInterface, + Location: transactionLocation(), + }, + ) + + require.NoError(t, err) + } + + authorizers = tc.authorizers + err := rt.ExecuteTransaction( Script{ Source: []byte(tc.script), @@ -741,7 +771,7 @@ func TestRuntimeTransactionWithArguments(t *testing.T) { }, Context{ Interface: runtimeInterface, - Location: common.TransactionLocation{}, + Location: transactionLocation(), }, ) @@ -989,16 +1019,17 @@ func TestRuntimeScriptArguments(t *testing.T) { args: encodeArgs([]cadence.Value{ cadence. NewStruct([]cadence.Value{cadence.String("bar")}). - WithType(&cadence.StructType{ - Location: common.ScriptLocation{}, - QualifiedIdentifier: "Foo", - Fields: []cadence.Field{ + WithType(cadence.NewStructType( + common.ScriptLocation{}, + "Foo", + []cadence.Field{ { Identifier: "y", Type: cadence.StringType, }, }, - }), + nil, + )), }), expectedLogs: []string{`"bar"`}, }, @@ -1022,16 +1053,17 @@ func TestRuntimeScriptArguments(t *testing.T) { cadence.NewArray([]cadence.Value{ cadence. NewStruct([]cadence.Value{cadence.String("bar")}). - WithType(&cadence.StructType{ - Location: common.ScriptLocation{}, - QualifiedIdentifier: "Foo", - Fields: []cadence.Field{ + WithType(cadence.NewStructType( + common.ScriptLocation{}, + "Foo", + []cadence.Field{ { Identifier: "y", Type: cadence.StringType, }, }, - }), + nil, + )), }), }), expectedLogs: []string{`"bar"`}, diff --git a/runtime/sema/check_binary_expression.go b/runtime/sema/check_binary_expression.go index 933d88c994..e15d1894a0 100644 --- a/runtime/sema/check_binary_expression.go +++ b/runtime/sema/check_binary_expression.go @@ -456,13 +456,6 @@ func (checker *Checker) checkBinaryExpressionNilCoalescing( return InvalidType } - leftInner := leftOptional.Type - - if leftInner == NeverType { - return rightType - } - canNarrow := false - if !rightIsInvalid { if rightType.IsResourceType() { @@ -473,25 +466,7 @@ func (checker *Checker) checkBinaryExpressionNilCoalescing( }, ) } - - if !IsSubType(rightType, leftOptional) { - - checker.report( - &InvalidBinaryOperandError{ - Operation: operation, - Side: common.OperandSideRight, - ExpectedType: leftOptional, - ActualType: rightType, - Range: ast.NewRangeFromPositioned(checker.memoryGauge, expression.Right), - }, - ) - } else { - canNarrow = IsSubType(rightType, leftInner) - } } - if !canNarrow { - return leftOptional - } - return leftInner + return LeastCommonSuperType(leftOptional.Type, rightType) } diff --git a/runtime/sema/check_import_declaration.go b/runtime/sema/check_import_declaration.go index 3e323a9d67..5a3df7bc5e 100644 --- a/runtime/sema/check_import_declaration.go +++ b/runtime/sema/check_import_declaration.go @@ -178,6 +178,7 @@ func (checker *Checker) importResolvedLocation(resolvedLocation ResolvedLocation checker.valueActivations, resolvedLocation.Identifiers, allValueElements, + true, ) // Attempt to import the requested type declarations @@ -187,6 +188,7 @@ func (checker *Checker) importResolvedLocation(resolvedLocation ResolvedLocation checker.typeActivations, resolvedLocation.Identifiers, allTypeElements, + false, ) // For each identifier, report if the import is invalid due to @@ -300,6 +302,7 @@ func (checker *Checker) importElements( valueActivations *VariableActivations, requestedIdentifiers []ast.Identifier, availableElements *StringImportElementOrderedMap, + importValues bool, ) ( found map[ast.Identifier]bool, invalidAccessed map[ast.Identifier]ImportElement, @@ -351,9 +354,19 @@ func (checker *Checker) importElements( } } + elementType := element.Type + + if importValues { + // Imported contract values must be imported as a reference. + compositeType, ok := elementType.(*CompositeType) + if ok && compositeType.Kind == common.CompositeKindContract { + elementType = NewReferenceType(checker.memoryGauge, UnauthorizedAccess, compositeType) + } + } + _, err := valueActivations.declare(variableDeclaration{ identifier: name, - ty: element.Type, + ty: elementType, // TODO: implies that type is "re-exported" access: access, kind: element.DeclarationKind, diff --git a/runtime/sema/runtime_type_constructors.go b/runtime/sema/runtime_type_constructors.go index 61ee817871..c52ab0ccb4 100644 --- a/runtime/sema/runtime_type_constructors.go +++ b/runtime/sema/runtime_type_constructors.go @@ -183,20 +183,19 @@ var CapabilityTypeFunctionType = NewSimpleFunctionType( OptionalMetaTypeAnnotation, ) -var InclusiveRangeTypeFunctionType = &FunctionType{ - Parameters: []Parameter{ +const InclusiveRangeTypeFunctionName = "InclusiveRangeType" + +var InclusiveRangeTypeFunctionType = NewSimpleFunctionType( + FunctionPurityView, + []Parameter{ { Label: ArgumentLabelNotRequired, Identifier: "type", - TypeAnnotation: NewTypeAnnotation(MetaType), + TypeAnnotation: MetaTypeAnnotation, }, }, - ReturnTypeAnnotation: NewTypeAnnotation( - &OptionalType{ - Type: MetaType, - }, - ), -} + OptionalMetaTypeAnnotation, +) var runtimeTypeConstructors = []*RuntimeTypeConstructor{ { @@ -264,7 +263,7 @@ var runtimeTypeConstructors = []*RuntimeTypeConstructor{ }, { - Name: "InclusiveRangeType", + Name: InclusiveRangeTypeFunctionName, Value: InclusiveRangeTypeFunctionType, DocString: `Creates a run-time type representing an inclusive range type of the given run-time member type. Returns nil if the member type is not a valid inclusive range member type.`, diff --git a/runtime/sema/type.go b/runtime/sema/type.go index d13947f8f2..42d72439ae 100644 --- a/runtime/sema/type.go +++ b/runtime/sema/type.go @@ -329,7 +329,12 @@ type LocatedType interface { type ParameterizedType interface { Type TypeParameters() []*TypeParameter - Instantiate(memoryGauge common.MemoryGauge, typeArguments []Type, astTypeArguments []*ast.TypeAnnotation, report func(err error)) Type + Instantiate( + memoryGauge common.MemoryGauge, + typeArguments []Type, + astTypeArguments []*ast.TypeAnnotation, + report func(err error), + ) Type BaseType() Type TypeArguments() []Type } @@ -6709,21 +6714,38 @@ func (t *InclusiveRangeType) Instantiate( astTypeArguments []*ast.TypeAnnotation, report func(err error), ) Type { - memberType := typeArguments[0] - if astTypeArguments == nil || astTypeArguments[0] == nil { - panic(errors.NewUnreachableError()) + const typeParameterCount = 1 + + getRange := func() ast.Range { + if astTypeArguments == nil || len(astTypeArguments) != typeParameterCount { + return ast.EmptyRange + } + return ast.NewRangeFromPositioned(memoryGauge, astTypeArguments[0]) + } + + typeArgumentCount := len(typeArguments) + + var memberType Type + if typeArgumentCount == typeParameterCount { + memberType = typeArguments[0] + } else { + report(&InvalidTypeArgumentCountError{ + TypeParameterCount: typeParameterCount, + TypeArgumentCount: typeArgumentCount, + Range: getRange(), + }) } - paramAstRange := ast.NewRangeFromPositioned(memoryGauge, astTypeArguments[0]) // memberType must only be a leaf integer type. for _, ty := range AllNonLeafIntegerTypes { if memberType == ty { report(&InvalidTypeArgumentError{ TypeArgumentName: inclusiveRangeTypeParameter.Name, - Range: paramAstRange, + Range: getRange(), Details: fmt.Sprintf("Creation of InclusiveRange<%s> is disallowed", memberType), }) + break } } @@ -6786,18 +6808,17 @@ func (t *InclusiveRangeType) GetMembers() map[string]MemberResolver { } func InclusiveRangeContainsFunctionType(elementType Type) *FunctionType { - return &FunctionType{ - Parameters: []Parameter{ + return NewSimpleFunctionType( + FunctionPurityView, + []Parameter{ { Label: ArgumentLabelNotRequired, Identifier: "element", TypeAnnotation: NewTypeAnnotation(elementType), }, }, - ReturnTypeAnnotation: NewTypeAnnotation( - BoolType, - ), - } + BoolTypeAnnotation, + ) } func (t *InclusiveRangeType) initializeMemberResolvers() { diff --git a/runtime/stdlib/account.go b/runtime/stdlib/account.go index 985a1aed06..e59a8ccaa4 100644 --- a/runtime/stdlib/account.go +++ b/runtime/stdlib/account.go @@ -1341,6 +1341,10 @@ func newAccountContractsBorrowFunction( panic(errors.NewUnreachableError()) } + if referenceType.Authorization != sema.UnauthorizedAccess { + panic(errors.NewDefaultUserError("cannot borrow a reference with an authorization")) + } + // Check if the contract exists var code []byte diff --git a/runtime/stdlib/range.go b/runtime/stdlib/range.go index fe548f0c5e..37a65435dc 100644 --- a/runtime/stdlib/range.go +++ b/runtime/stdlib/range.go @@ -50,6 +50,7 @@ var inclusiveRangeConstructorFunctionType = func() *sema.FunctionType { ) return &sema.FunctionType{ + Purity: sema.FunctionPurityView, TypeParameters: []*sema.TypeParameter{ typeParameter, }, diff --git a/runtime/tests/checker/import_test.go b/runtime/tests/checker/import_test.go index c98c3bec1c..de971dd7c3 100644 --- a/runtime/tests/checker/import_test.go +++ b/runtime/tests/checker/import_test.go @@ -716,3 +716,110 @@ func TestCheckImportVirtual(t *testing.T) { require.NoError(t, err) } + +func TestCheckImportContract(t *testing.T) { + + t.Parallel() + + t.Run("valid", func(t *testing.T) { + + importedChecker, err := ParseAndCheckWithOptions(t, + ` + access(all) contract Foo { + access(all) let x: [Int] + + access(all) fun answer(): Int { + return 42 + } + + access(all) struct Bar {} + + init() { + self.x = [] + } + }`, + ParseAndCheckOptions{ + Location: utils.ImportedLocation, + }, + ) + + require.NoError(t, err) + + _, err = ParseAndCheckWithOptions(t, + ` + import Foo from "imported" + + access(all) fun main() { + var foo: &Foo = Foo + var x: &[Int] = Foo.x + var bar: Foo.Bar = Foo.Bar() + } + `, + ParseAndCheckOptions{ + Config: &sema.Config{ + ImportHandler: func(_ *sema.Checker, _ common.Location, _ ast.Range) (sema.Import, error) { + return sema.ElaborationImport{ + Elaboration: importedChecker.Elaboration, + }, nil + }, + }, + }, + ) + + require.NoError(t, err) + }) + + t.Run("invalid", func(t *testing.T) { + + importedChecker, err := ParseAndCheckWithOptions(t, + ` + access(all) contract Foo { + access(all) let x: [Int] + + access(all) fun answer(): Int { + return 42 + } + + access(all) struct Bar {} + + init() { + self.x = [] + } + }`, + ParseAndCheckOptions{ + Location: utils.ImportedLocation, + }, + ) + + require.NoError(t, err) + + _, err = ParseAndCheckWithOptions(t, + ` + import Foo from "imported" + + access(all) fun main() { + Foo.x[0] = 3 + Foo.x.append(4) + } + `, + ParseAndCheckOptions{ + Config: &sema.Config{ + ImportHandler: func(_ *sema.Checker, _ common.Location, _ ast.Range) (sema.Import, error) { + return sema.ElaborationImport{ + Elaboration: importedChecker.Elaboration, + }, nil + }, + }, + }, + ) + + errs := RequireCheckerErrors(t, err, 2) + + assignmentError := &sema.UnauthorizedReferenceAssignmentError{} + assert.ErrorAs(t, errs[0], &assignmentError) + + accessError := &sema.InvalidAccessError{} + assert.ErrorAs(t, errs[1], &accessError) + }) + +} diff --git a/runtime/tests/checker/member_test.go b/runtime/tests/checker/member_test.go index f5211a7cc5..b3a0ab4464 100644 --- a/runtime/tests/checker/member_test.go +++ b/runtime/tests/checker/member_test.go @@ -988,3 +988,25 @@ func TestCheckMemberAccess(t *testing.T) { require.NoError(t, err) }) } + +func TestCheckContractFieldAccessInSameContract(t *testing.T) { + t.Parallel() + + _, err := ParseAndCheck(t, ` + contract Foo { + + var array: [Int] + + init() { + self.array = [] + } + + access(all) fun bar() { + // Should return the concrete value, not a reference. + var foo: [Int] = Foo.array + } + }`, + ) + + require.NoError(t, err) +} diff --git a/runtime/tests/checker/nil_coalescing_test.go b/runtime/tests/checker/nil_coalescing_test.go index ef942125f3..4abd505de8 100644 --- a/runtime/tests/checker/nil_coalescing_test.go +++ b/runtime/tests/checker/nil_coalescing_test.go @@ -159,14 +159,29 @@ func TestCheckInvalidNilCoalescingNonMatchingTypes(t *testing.T) { t.Parallel() - _, err := ParseAndCheck(t, ` - let x: Int? = 1 - let y = x ?? false - `) + t.Run("with super type", func(t *testing.T) { + t.Parallel() - errs := RequireCheckerErrors(t, err, 1) + _, err := ParseAndCheck(t, ` + let x: Int? = 1 + let y = x ?? false + `) + + require.NoError(t, err) + }) + + t.Run("no super type", func(t *testing.T) { + + t.Parallel() + + _, err := ParseAndCheck(t, ` + let x: Int? = 1 + let y: Int = x ?? false + `) - assert.IsType(t, &sema.InvalidBinaryOperandError{}, errs[0]) + errs := RequireCheckerErrors(t, err, 1) + assert.IsType(t, &sema.TypeMismatchError{}, errs[0]) + }) } func TestCheckNilCoalescingAny(t *testing.T) { diff --git a/runtime/tests/checker/reference_test.go b/runtime/tests/checker/reference_test.go index 446a966403..c9b970f887 100644 --- a/runtime/tests/checker/reference_test.go +++ b/runtime/tests/checker/reference_test.go @@ -1941,7 +1941,7 @@ func TestCheckInvalidatedReferenceUse(t *testing.T) { import Foo from "imported" access(all) fun test() { - let xRef = &Foo.field as &AnyResource + let xRef: &AnyResource = Foo.field xRef } `, diff --git a/runtime/tests/checker/resources_test.go b/runtime/tests/checker/resources_test.go index 5fa41d352d..987d3f07b3 100644 --- a/runtime/tests/checker/resources_test.go +++ b/runtime/tests/checker/resources_test.go @@ -10399,3 +10399,21 @@ func TestCheckInvalidNestedResourceCapture(t *testing.T) { require.NoError(t, err) }) } + +func TestCheckInvalidOptionalResourceCoalescingRightSideNilLeftSide(t *testing.T) { + t.Parallel() + + _, err := ParseAndCheck(t, ` + resource R {} + fun test() { + let rs: @[R?] <- [nil, nil] + rs[0] <-! create R() + rs[1] <-! nil ?? rs[0] + destroy rs + } + `) + + errs := RequireCheckerErrors(t, err, 1) + + assert.IsType(t, &sema.InvalidNilCoalescingRightResourceOperandError{}, errs[0]) +} diff --git a/tools/update/config.yaml b/tools/update/config.yaml index 5587b510f9..cdfb2f68e5 100644 --- a/tools/update/config.yaml +++ b/tools/update/config.yaml @@ -53,8 +53,7 @@ repos: - onflow/flow-emulator - repo: onflow/flowkit - needsRelease: false - branch: feature/stable-cadence + needsRelease: true mods: - path: "" deps: @@ -79,7 +78,6 @@ repos: - repo: onflow/flixkit-go needsRelease: true - branch: feature/stable-cadence mods: - path: "" deps: @@ -106,7 +104,6 @@ repos: - repo: onflow/flow-cli needsRelease: true - branch: feature/stable-cadence mods: - path: "" deps: diff --git a/tools/update/main.ts b/tools/update/main.ts index 3b55a08b47..10fb6e2945 100644 --- a/tools/update/main.ts +++ b/tools/update/main.ts @@ -30,11 +30,13 @@ function semVerAtLeast(actualVersion: string, expectedVersion: string): boolean } function extractVersionCommit(version: string): string | null { - const parts = version.split('-') - if (parts.length <= 1) { - return null - } - return parts[parts.length-1] + // Parse commit from Go's generated pseudo-version. + // They end with '-'. + // See https://go.dev/ref/mod#glos-pseudo-version + const match = version.match(/\d{14}-([0-9a-f]{12})$/) + if (!match) + return null; + return match[1] } function capitalizeFirstLetter(string: string): string { diff --git a/types.go b/types.go index ca13683566..c3cee3c263 100644 --- a/types.go +++ b/types.go @@ -426,44 +426,71 @@ func NewField(identifier string, typ Type) Field { } } -// SearchFieldByName searches for the field with the given name in the composite type, -// and returns the value of the field, or nil if the field is not found. +// SearchCompositeFieldTypeByName searches for the field with the given name in the composite type, +// and returns the type of the field, or nil if the field is not found. // // WARNING: This function performs a linear search, so is not efficient for accessing multiple fields. -// Prefer using FieldsMappedByName if you need to access multiple fields. -func SearchFieldByName(v Composite, fieldName string) Value { - fieldValues := v.getFieldValues() - fields := v.GetFields() +// Prefer using CompositeFieldTypesMappedByName if you need to access multiple fields. +func SearchCompositeFieldTypeByName(compositeType CompositeType, fieldName string) Type { + fields := compositeType.compositeFields() - if fieldValues == nil || fields == nil { + if fields == nil { return nil } - for i, field := range v.GetFields() { + for _, field := range fields { if field.Identifier == fieldName { - return fieldValues[i] + return field.Type } } return nil } -func FieldsMappedByName(v Composite) map[string]Value { - fieldValues := v.getFieldValues() - fields := v.GetFields() +func CompositeFieldTypesMappedByName(compositeType CompositeType) map[string]Type { + fields := compositeType.compositeFields() - if fieldValues == nil || fields == nil { + if fields == nil { return nil } - fieldsMap := make(map[string]Value, len(fields)) - for i, fieldValue := range fieldValues { - var fieldName string - if i < len(fields) { - fieldName = fields[i].Identifier - } else if attachment, ok := fieldValue.(Attachment); ok { - fieldName = interpreter.AttachmentMemberName(attachment.Type().ID()) + fieldsMap := make(map[string]Type, len(fields)) + for _, field := range fields { + fieldsMap[field.Identifier] = field.Type + } + + return fieldsMap +} + +// SearchInterfaceFieldTypeByName searches for the field with the given name in the interface type, +// and returns the type of the field, or nil if the field is not found. +// +// WARNING: This function performs a linear search, so is not efficient for accessing multiple fields. +// Prefer using InterfaceFieldTypesMappedByName if you need to access multiple fields. +func SearchInterfaceFieldTypeByName(interfaceType InterfaceType, fieldName string) Type { + fields := interfaceType.interfaceFields() + + if fields == nil { + return nil + } + + for _, field := range fields { + if field.Identifier == fieldName { + return field.Type } - fieldsMap[fieldName] = fieldValue + } + return nil +} + +func InterfaceFieldTypesMappedByName(interfaceType InterfaceType) map[string]Type { + fields := interfaceType.interfaceFields() + + if fields == nil { + return nil + } + + fieldsMap := make(map[string]Type, len(fields)) + for _, field := range fields { + fieldsMap[field.Identifier] = field.Type } return fieldsMap @@ -699,12 +726,28 @@ func NewTypeParameter( type CompositeType interface { Type + isCompositeType() + compositeFields() []Field + setCompositeFields([]Field) + CompositeTypeLocation() common.Location CompositeTypeQualifiedIdentifier() string - CompositeFields() []Field - SetCompositeFields([]Field) CompositeInitializers() [][]Parameter + SearchFieldByName(fieldName string) Type + FieldsMappedByName() map[string]Type +} + +// linked in by packages that need access to CompositeType.setCompositeFields, +// e.g. JSON and CCF codecs +func setCompositeTypeFields(compositeType CompositeType, fields []Field) { //nolint:unused + compositeType.setCompositeFields(fields) +} + +// linked in by packages that need access to CompositeType.compositeFields, +// e.g. JSON and CCF codecs +func getCompositeTypeFields(compositeType CompositeType) []Field { //nolint:unused + return compositeType.compositeFields() } // StructType @@ -712,7 +755,7 @@ type CompositeType interface { type StructType struct { Location common.Location QualifiedIdentifier string - Fields []Field + fields []Field Initializers [][]Parameter } @@ -725,7 +768,7 @@ func NewStructType( return &StructType{ Location: location, QualifiedIdentifier: qualifiedIdentifier, - Fields: fields, + fields: fields, Initializers: initializers, } } @@ -757,12 +800,12 @@ func (t *StructType) CompositeTypeQualifiedIdentifier() string { return t.QualifiedIdentifier } -func (t *StructType) CompositeFields() []Field { - return t.Fields +func (t *StructType) compositeFields() []Field { + return t.fields } -func (t *StructType) SetCompositeFields(fields []Field) { - t.Fields = fields +func (t *StructType) setCompositeFields(fields []Field) { + t.fields = fields } func (t *StructType) CompositeInitializers() [][]Parameter { @@ -779,12 +822,20 @@ func (t *StructType) Equal(other Type) bool { t.QualifiedIdentifier == otherType.QualifiedIdentifier } +func (t *StructType) SearchFieldByName(fieldName string) Type { + return SearchCompositeFieldTypeByName(t, fieldName) +} + +func (t *StructType) FieldsMappedByName() map[string]Type { + return CompositeFieldTypesMappedByName(t) +} + // ResourceType type ResourceType struct { Location common.Location QualifiedIdentifier string - Fields []Field + fields []Field Initializers [][]Parameter } @@ -797,7 +848,7 @@ func NewResourceType( return &ResourceType{ Location: location, QualifiedIdentifier: qualifiedIdentifier, - Fields: fields, + fields: fields, Initializers: initializers, } } @@ -829,12 +880,12 @@ func (t *ResourceType) CompositeTypeQualifiedIdentifier() string { return t.QualifiedIdentifier } -func (t *ResourceType) CompositeFields() []Field { - return t.Fields +func (t *ResourceType) compositeFields() []Field { + return t.fields } -func (t *ResourceType) SetCompositeFields(fields []Field) { - t.Fields = fields +func (t *ResourceType) setCompositeFields(fields []Field) { + t.fields = fields } func (t *ResourceType) CompositeInitializers() [][]Parameter { @@ -851,20 +902,28 @@ func (t *ResourceType) Equal(other Type) bool { t.QualifiedIdentifier == otherType.QualifiedIdentifier } +func (t *ResourceType) SearchFieldByName(fieldName string) Type { + return SearchCompositeFieldTypeByName(t, fieldName) +} + +func (t *ResourceType) FieldsMappedByName() map[string]Type { + return CompositeFieldTypesMappedByName(t) +} + // AttachmentType type AttachmentType struct { Location common.Location BaseType Type QualifiedIdentifier string - Fields []Field + fields []Field Initializers [][]Parameter } func NewAttachmentType( location common.Location, - baseType Type, qualifiedIdentifier string, + baseType Type, fields []Field, initializers [][]Parameter, ) *AttachmentType { @@ -872,7 +931,7 @@ func NewAttachmentType( Location: location, BaseType: baseType, QualifiedIdentifier: qualifiedIdentifier, - Fields: fields, + fields: fields, Initializers: initializers, } } @@ -880,16 +939,16 @@ func NewAttachmentType( func NewMeteredAttachmentType( gauge common.MemoryGauge, location common.Location, - baseType Type, qualifiedIdentifier string, + baseType Type, fields []Field, initializers [][]Parameter, ) *AttachmentType { common.UseMemory(gauge, common.CadenceAttachmentTypeMemoryUsage) return NewAttachmentType( location, - baseType, qualifiedIdentifier, + baseType, fields, initializers, ) @@ -911,12 +970,12 @@ func (t *AttachmentType) CompositeTypeQualifiedIdentifier() string { return t.QualifiedIdentifier } -func (t *AttachmentType) CompositeFields() []Field { - return t.Fields +func (t *AttachmentType) compositeFields() []Field { + return t.fields } -func (t *AttachmentType) SetCompositeFields(fields []Field) { - t.Fields = fields +func (t *AttachmentType) setCompositeFields(fields []Field) { + t.fields = fields } func (t *AttachmentType) CompositeInitializers() [][]Parameter { @@ -937,12 +996,20 @@ func (t *AttachmentType) Equal(other Type) bool { t.QualifiedIdentifier == otherType.QualifiedIdentifier } +func (t *AttachmentType) SearchFieldByName(fieldName string) Type { + return SearchCompositeFieldTypeByName(t, fieldName) +} + +func (t *AttachmentType) FieldsMappedByName() map[string]Type { + return CompositeFieldTypesMappedByName(t) +} + // EventType type EventType struct { Location common.Location QualifiedIdentifier string - Fields []Field + fields []Field Initializer []Parameter } @@ -955,7 +1022,7 @@ func NewEventType( return &EventType{ Location: location, QualifiedIdentifier: qualifiedIdentifier, - Fields: fields, + fields: fields, Initializer: initializer, } } @@ -987,12 +1054,12 @@ func (t *EventType) CompositeTypeQualifiedIdentifier() string { return t.QualifiedIdentifier } -func (t *EventType) CompositeFields() []Field { - return t.Fields +func (t *EventType) compositeFields() []Field { + return t.fields } -func (t *EventType) SetCompositeFields(fields []Field) { - t.Fields = fields +func (t *EventType) setCompositeFields(fields []Field) { + t.fields = fields } func (t *EventType) CompositeInitializers() [][]Parameter { @@ -1009,12 +1076,20 @@ func (t *EventType) Equal(other Type) bool { t.QualifiedIdentifier == otherType.QualifiedIdentifier } +func (t *EventType) SearchFieldByName(fieldName string) Type { + return SearchCompositeFieldTypeByName(t, fieldName) +} + +func (t *EventType) FieldsMappedByName() map[string]Type { + return CompositeFieldTypesMappedByName(t) +} + // ContractType type ContractType struct { Location common.Location QualifiedIdentifier string - Fields []Field + fields []Field Initializers [][]Parameter } @@ -1027,7 +1102,7 @@ func NewContractType( return &ContractType{ Location: location, QualifiedIdentifier: qualifiedIdentifier, - Fields: fields, + fields: fields, Initializers: initializers, } } @@ -1059,12 +1134,12 @@ func (t *ContractType) CompositeTypeQualifiedIdentifier() string { return t.QualifiedIdentifier } -func (t *ContractType) CompositeFields() []Field { - return t.Fields +func (t *ContractType) compositeFields() []Field { + return t.fields } -func (t *ContractType) SetCompositeFields(fields []Field) { - t.Fields = fields +func (t *ContractType) setCompositeFields(fields []Field) { + t.fields = fields } func (t *ContractType) CompositeInitializers() [][]Parameter { @@ -1081,24 +1156,46 @@ func (t *ContractType) Equal(other Type) bool { t.QualifiedIdentifier == otherType.QualifiedIdentifier } +func (t *ContractType) SearchFieldByName(fieldName string) Type { + return SearchCompositeFieldTypeByName(t, fieldName) +} + +func (t *ContractType) FieldsMappedByName() map[string]Type { + return CompositeFieldTypesMappedByName(t) +} + // InterfaceType type InterfaceType interface { Type + isInterfaceType() + interfaceFields() []Field + setInterfaceFields(fields []Field) + InterfaceTypeLocation() common.Location InterfaceTypeQualifiedIdentifier() string - InterfaceFields() []Field - SetInterfaceFields(fields []Field) InterfaceInitializers() [][]Parameter } +// linked in by packages that need access to InterfaceType.interfaceFields, +// e.g. JSON and CCF codecs +func getInterfaceTypeFields(interfaceType InterfaceType) []Field { //nolint:unused + return interfaceType.interfaceFields() +} + +// linked in by packages that need access to InterfaceType.setInterfaceFields, +// e.g. JSON and CCF codecs +func setInterfaceTypeFields(interfaceType InterfaceType, fields []Field) { //nolint:unused + interfaceType.setInterfaceFields(fields) +} + // StructInterfaceType type StructInterfaceType struct { Location common.Location QualifiedIdentifier string - Fields []Field + fields []Field Initializers [][]Parameter } @@ -1111,7 +1208,7 @@ func NewStructInterfaceType( return &StructInterfaceType{ Location: location, QualifiedIdentifier: qualifiedIdentifier, - Fields: fields, + fields: fields, Initializers: initializers, } } @@ -1143,12 +1240,12 @@ func (t *StructInterfaceType) InterfaceTypeQualifiedIdentifier() string { return t.QualifiedIdentifier } -func (t *StructInterfaceType) InterfaceFields() []Field { - return t.Fields +func (t *StructInterfaceType) interfaceFields() []Field { + return t.fields } -func (t *StructInterfaceType) SetInterfaceFields(fields []Field) { - t.Fields = fields +func (t *StructInterfaceType) setInterfaceFields(fields []Field) { + t.fields = fields } func (t *StructInterfaceType) InterfaceInitializers() [][]Parameter { @@ -1170,7 +1267,7 @@ func (t *StructInterfaceType) Equal(other Type) bool { type ResourceInterfaceType struct { Location common.Location QualifiedIdentifier string - Fields []Field + fields []Field Initializers [][]Parameter } @@ -1183,7 +1280,7 @@ func NewResourceInterfaceType( return &ResourceInterfaceType{ Location: location, QualifiedIdentifier: qualifiedIdentifier, - Fields: fields, + fields: fields, Initializers: initializers, } } @@ -1215,12 +1312,12 @@ func (t *ResourceInterfaceType) InterfaceTypeQualifiedIdentifier() string { return t.QualifiedIdentifier } -func (t *ResourceInterfaceType) InterfaceFields() []Field { - return t.Fields +func (t *ResourceInterfaceType) interfaceFields() []Field { + return t.fields } -func (t *ResourceInterfaceType) SetInterfaceFields(fields []Field) { - t.Fields = fields +func (t *ResourceInterfaceType) setInterfaceFields(fields []Field) { + t.fields = fields } func (t *ResourceInterfaceType) InterfaceInitializers() [][]Parameter { @@ -1242,7 +1339,7 @@ func (t *ResourceInterfaceType) Equal(other Type) bool { type ContractInterfaceType struct { Location common.Location QualifiedIdentifier string - Fields []Field + fields []Field Initializers [][]Parameter } @@ -1255,7 +1352,7 @@ func NewContractInterfaceType( return &ContractInterfaceType{ Location: location, QualifiedIdentifier: qualifiedIdentifier, - Fields: fields, + fields: fields, Initializers: initializers, } } @@ -1287,12 +1384,12 @@ func (t *ContractInterfaceType) InterfaceTypeQualifiedIdentifier() string { return t.QualifiedIdentifier } -func (t *ContractInterfaceType) InterfaceFields() []Field { - return t.Fields +func (t *ContractInterfaceType) interfaceFields() []Field { + return t.fields } -func (t *ContractInterfaceType) SetInterfaceFields(fields []Field) { - t.Fields = fields +func (t *ContractInterfaceType) setInterfaceFields(fields []Field) { + t.fields = fields } func (t *ContractInterfaceType) InterfaceInitializers() [][]Parameter { @@ -1939,7 +2036,7 @@ type EnumType struct { Location common.Location QualifiedIdentifier string RawType Type - Fields []Field + fields []Field Initializers [][]Parameter } @@ -1954,7 +2051,7 @@ func NewEnumType( Location: location, QualifiedIdentifier: qualifiedIdentifier, RawType: rawType, - Fields: fields, + fields: fields, Initializers: initializers, } } @@ -1987,12 +2084,12 @@ func (t *EnumType) CompositeTypeQualifiedIdentifier() string { return t.QualifiedIdentifier } -func (t *EnumType) CompositeFields() []Field { - return t.Fields +func (t *EnumType) compositeFields() []Field { + return t.fields } -func (t *EnumType) SetCompositeFields(fields []Field) { - t.Fields = fields +func (t *EnumType) setCompositeFields(fields []Field) { + t.fields = fields } func (t *EnumType) CompositeInitializers() [][]Parameter { @@ -2008,3 +2105,11 @@ func (t *EnumType) Equal(other Type) bool { return t.Location == otherType.Location && t.QualifiedIdentifier == otherType.QualifiedIdentifier } + +func (t *EnumType) SearchFieldByName(fieldName string) Type { + return SearchCompositeFieldTypeByName(t, fieldName) +} + +func (t *EnumType) FieldsMappedByName() map[string]Type { + return CompositeFieldTypesMappedByName(t) +} diff --git a/types_test.go b/types_test.go index 8b1e2f5934..f13bb96b7a 100644 --- a/types_test.go +++ b/types_test.go @@ -2272,10 +2272,10 @@ func TestDecodeFields(t *testing.T) { }, }, }, - ).WithType(&EventType{ - Location: utils.TestLocation, - QualifiedIdentifier: "SimpleEvent", - Fields: []Field{ + ).WithType(NewEventType( + utils.TestLocation, + "SimpleEvent", + []Field{ { Identifier: "intField", Type: IntType, @@ -2369,7 +2369,8 @@ func TestDecodeFields(t *testing.T) { ), }, }, - }) + nil, + )) type eventStruct struct { Int Int `cadence:"intField"` @@ -2491,7 +2492,7 @@ func TestDecodeFields(t *testing.T) { Description: "should err when mapping to invalid type", }, {Value: &struct { - a Int `cadence:"intField"` // nolint: unused + a Int `cadence:"intField"` }{}, ExpectedErr: "cannot set field a", Description: "should err when mapping to private field", diff --git a/values.go b/values.go index f3e20a371d..085507b326 100644 --- a/values.go +++ b/values.go @@ -1521,16 +1521,66 @@ func NewMeteredKeyValuePair(gauge common.MemoryGauge, key, value Value) KeyValue type Composite interface { Value - GetFields() []Field + + isComposite() + getFields() []Field getFieldValues() []Value + + SearchFieldByName(fieldName string) Value + FieldsMappedByName() map[string]Value } -// linked in by packages that need access to getFieldValues, +// linked in by packages that need access to Composite.getFieldValues, // e.g. JSON and CCF codecs -func getFieldValues(composite Composite) []Value { //nolint:unused +func getCompositeFieldValues(composite Composite) []Value { //nolint:unused return composite.getFieldValues() } +// SearchFieldByName searches for the field with the given name in the composite type, +// and returns the value of the field, or nil if the field is not found. +// +// WARNING: This function performs a linear search, so is not efficient for accessing multiple fields. +// Prefer using FieldsMappedByName if you need to access multiple fields. +func SearchFieldByName(v Composite, fieldName string) Value { + fieldValues := v.getFieldValues() + fields := v.getFields() + + if fieldValues == nil || fields == nil { + return nil + } + + for i, field := range fields { + if field.Identifier == fieldName { + return fieldValues[i] + } + } + return nil +} + +func FieldsMappedByName(v Composite) map[string]Value { + fieldValues := v.getFieldValues() + fields := v.getFields() + + if fieldValues == nil || fields == nil { + return nil + } + + fieldsMap := make(map[string]Value, len(fields)) + for i, fieldValue := range fieldValues { + var fieldName string + if i < len(fields) { + fieldName = fields[i].Identifier + } else if attachment, ok := fieldValue.(Attachment); ok { + fieldName = interpreter.AttachmentMemberName(attachment.Type().ID()) + } else { + panic(errors.NewUnreachableError()) + } + fieldsMap[fieldName] = fieldValue + } + + return fieldsMap +} + // Struct type Struct struct { @@ -1563,6 +1613,8 @@ func NewMeteredStruct( func (Struct) isValue() {} +func (Struct) isComposite() {} + func (v Struct) Type() Type { if v.StructType == nil { // Return nil Type instead of Type referencing nil *StructType, @@ -1584,23 +1636,36 @@ func (v Struct) WithType(typ *StructType) Struct { func (v Struct) String() string { return formatComposite( v.StructType.ID(), - v.StructType.Fields, + v.StructType.fields, v.fields, ) } -func (v Struct) GetFields() []Field { +func (v Struct) getFields() []Field { if v.StructType == nil { return nil } - return v.StructType.Fields + return v.StructType.fields } func (v Struct) getFieldValues() []Value { return v.fields } +// SearchFieldByName searches for the field with the given name in the struct, +// and returns the value of the field, or nil if the field is not found. +// +// WARNING: This function performs a linear search, so is not efficient for accessing multiple fields. +// Prefer using FieldsMappedByName if you need to access multiple fields. +func (v Struct) SearchFieldByName(fieldName string) Value { + return SearchFieldByName(v, fieldName) +} + +func (v Struct) FieldsMappedByName() map[string]Value { + return FieldsMappedByName(v) +} + func formatComposite(typeID string, fields []Field, values []Value) string { preparedFields := make([]struct { Name string @@ -1653,6 +1718,8 @@ func NewMeteredResource( func (Resource) isValue() {} +func (Resource) isComposite() {} + func (v Resource) Type() Type { if v.ResourceType == nil { // Return nil Type instead of Type referencing nil *ResourceType, @@ -1674,23 +1741,36 @@ func (v Resource) WithType(typ *ResourceType) Resource { func (v Resource) String() string { return formatComposite( v.ResourceType.ID(), - v.ResourceType.Fields, + v.ResourceType.fields, v.fields, ) } -func (v Resource) GetFields() []Field { +func (v Resource) getFields() []Field { if v.ResourceType == nil { return nil } - return v.ResourceType.Fields + return v.ResourceType.fields } func (v Resource) getFieldValues() []Value { return v.fields } +// SearchFieldByName searches for the field with the given name in the resource, +// and returns the value of the field, or nil if the field is not found. +// +// WARNING: This function performs a linear search, so is not efficient for accessing multiple fields. +// Prefer using FieldsMappedByName if you need to access multiple fields. +func (v Resource) SearchFieldByName(fieldName string) Value { + return SearchFieldByName(v, fieldName) +} + +func (v Resource) FieldsMappedByName() map[string]Value { + return FieldsMappedByName(v) +} + // Attachment type Attachment struct { @@ -1722,6 +1802,8 @@ func NewMeteredAttachment( func (Attachment) isValue() {} +func (Attachment) isComposite() {} + func (v Attachment) Type() Type { if v.AttachmentType == nil { // Return nil Type instead of Type referencing nil *AttachmentType, @@ -1743,23 +1825,36 @@ func (v Attachment) WithType(typ *AttachmentType) Attachment { func (v Attachment) String() string { return formatComposite( v.AttachmentType.ID(), - v.AttachmentType.Fields, + v.AttachmentType.fields, v.fields, ) } -func (v Attachment) GetFields() []Field { +func (v Attachment) getFields() []Field { if v.AttachmentType == nil { return nil } - return v.AttachmentType.Fields + return v.AttachmentType.fields } func (v Attachment) getFieldValues() []Value { return v.fields } +// SearchFieldByName searches for the field with the given name in the attachment, +// and returns the value of the field, or nil if the field is not found. +// +// WARNING: This function performs a linear search, so is not efficient for accessing multiple fields. +// Prefer using FieldsMappedByName if you need to access multiple fields. +func (v Attachment) SearchFieldByName(fieldName string) Value { + return SearchFieldByName(v, fieldName) +} + +func (v Attachment) FieldsMappedByName() map[string]Value { + return FieldsMappedByName(v) +} + // Event type Event struct { @@ -1791,6 +1886,8 @@ func NewMeteredEvent( func (Event) isValue() {} +func (Event) isComposite() {} + func (v Event) Type() Type { if v.EventType == nil { // Return nil Type instead of Type referencing nil *EventType, @@ -1812,23 +1909,36 @@ func (v Event) WithType(typ *EventType) Event { func (v Event) String() string { return formatComposite( v.EventType.ID(), - v.EventType.Fields, + v.EventType.fields, v.fields, ) } -func (v Event) GetFields() []Field { +func (v Event) getFields() []Field { if v.EventType == nil { return nil } - return v.EventType.Fields + return v.EventType.fields } func (v Event) getFieldValues() []Value { return v.fields } +// SearchFieldByName searches for the field with the given name in the event, +// and returns the value of the field, or nil if the field is not found. +// +// WARNING: This function performs a linear search, so is not efficient for accessing multiple fields. +// Prefer using FieldsMappedByName if you need to access multiple fields. +func (v Event) SearchFieldByName(fieldName string) Value { + return SearchFieldByName(v, fieldName) +} + +func (v Event) FieldsMappedByName() map[string]Value { + return FieldsMappedByName(v) +} + // Contract type Contract struct { @@ -1860,6 +1970,8 @@ func NewMeteredContract( func (Contract) isValue() {} +func (Contract) isComposite() {} + func (v Contract) Type() Type { if v.ContractType == nil { // Return nil Type instead of Type referencing nil *ContractType, @@ -1881,23 +1993,36 @@ func (v Contract) WithType(typ *ContractType) Contract { func (v Contract) String() string { return formatComposite( v.ContractType.ID(), - v.ContractType.Fields, + v.ContractType.fields, v.fields, ) } -func (v Contract) GetFields() []Field { +func (v Contract) getFields() []Field { if v.ContractType == nil { return nil } - return v.ContractType.Fields + return v.ContractType.fields } func (v Contract) getFieldValues() []Value { return v.fields } +// SearchFieldByName searches for the field with the given name in the contract, +// and returns the value of the field, or nil if the field is not found. +// +// WARNING: This function performs a linear search, so is not efficient for accessing multiple fields. +// Prefer using FieldsMappedByName if you need to access multiple fields. +func (v Contract) SearchFieldByName(fieldName string) Value { + return SearchFieldByName(v, fieldName) +} + +func (v Contract) FieldsMappedByName() map[string]Value { + return FieldsMappedByName(v) +} + // InclusiveRange type InclusiveRange struct { @@ -2193,6 +2318,8 @@ func NewMeteredEnum( func (Enum) isValue() {} +func (Enum) isComposite() {} + func (v Enum) Type() Type { if v.EnumType == nil { // Return nil Type instead of Type referencing nil *EnumType, @@ -2214,23 +2341,36 @@ func (v Enum) WithType(typ *EnumType) Enum { func (v Enum) String() string { return formatComposite( v.EnumType.ID(), - v.EnumType.Fields, + v.EnumType.fields, v.fields, ) } -func (v Enum) GetFields() []Field { +func (v Enum) getFields() []Field { if v.EnumType == nil { return nil } - return v.EnumType.Fields + return v.EnumType.fields } func (v Enum) getFieldValues() []Value { return v.fields } +// SearchFieldByName searches for the field with the given name in the enum, +// and returns the value of the field, or nil if the field is not found. +// +// WARNING: This function performs a linear search, so is not efficient for accessing multiple fields. +// Prefer using FieldsMappedByName if you need to access multiple fields. +func (v Enum) SearchFieldByName(fieldName string) Value { + return SearchFieldByName(v, fieldName) +} + +func (v Enum) FieldsMappedByName() map[string]Value { + return FieldsMappedByName(v) +} + // Function type Function struct { FunctionType *FunctionType diff --git a/values_test.go b/values_test.go index e3f00d356b..35437dd51c 100644 --- a/values_test.go +++ b/values_test.go @@ -241,16 +241,17 @@ func newValueTestCases() map[string]valueTestCase { }, "struct": { value: NewStruct([]Value{String("bar")}), - exampleType: &StructType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooStruct", - Fields: []Field{ + exampleType: NewStructType( + utils.TestLocation, + "FooStruct", + []Field{ { Identifier: "y", Type: StringType, }, }, - }, + nil, + ), withType: func(value Value, ty Type) Value { return value.(Struct).WithType(ty.(*StructType)) }, @@ -258,16 +259,17 @@ func newValueTestCases() map[string]valueTestCase { }, "resource": { value: NewResource([]Value{NewInt(1)}), - exampleType: &ResourceType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooResource", - Fields: []Field{ + exampleType: NewResourceType( + utils.TestLocation, + "FooResource", + []Field{ { Identifier: "bar", Type: IntType, }, }, - }, + nil, + ), withType: func(value Value, ty Type) Value { return value.(Resource).WithType(ty.(*ResourceType)) }, @@ -280,10 +282,10 @@ func newValueTestCases() map[string]valueTestCase { String("foo"), }, ), - exampleType: &EventType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooEvent", - Fields: []Field{ + exampleType: NewEventType( + utils.TestLocation, + "FooEvent", + []Field{ { Identifier: "a", Type: IntType, @@ -293,7 +295,8 @@ func newValueTestCases() map[string]valueTestCase { Type: StringType, }, }, - }, + nil, + ), withType: func(value Value, ty Type) Value { return value.(Event).WithType(ty.(*EventType)) }, @@ -301,16 +304,17 @@ func newValueTestCases() map[string]valueTestCase { }, "contract": { value: NewContract([]Value{String("bar")}), - exampleType: &ContractType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooContract", - Fields: []Field{ + exampleType: NewContractType( + utils.TestLocation, + "FooContract", + []Field{ { Identifier: "y", Type: StringType, }, }, - }, + nil, + ), withType: func(value Value, ty Type) Value { return value.(Contract).WithType(ty.(*ContractType)) }, @@ -318,16 +322,18 @@ func newValueTestCases() map[string]valueTestCase { }, "enum": { value: NewEnum([]Value{UInt8(1)}), - exampleType: &EnumType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooEnum", - Fields: []Field{ + exampleType: NewEnumType( + utils.TestLocation, + "FooEnum", + nil, + []Field{ { Identifier: sema.EnumRawValueFieldName, Type: UInt8Type, }, }, - }, + nil, + ), withType: func(value Value, ty Type) Value { return value.(Enum).WithType(ty.(*EnumType)) }, @@ -335,16 +341,18 @@ func newValueTestCases() map[string]valueTestCase { }, "attachment": { value: NewAttachment([]Value{NewInt(1)}), - exampleType: &AttachmentType{ - Location: utils.TestLocation, - QualifiedIdentifier: "FooAttachment", - Fields: []Field{ + exampleType: NewAttachmentType( + utils.TestLocation, + "FooAttachment", + nil, + []Field{ { Identifier: "bar", Type: IntType, }, }, - }, + nil, + ), withType: func(value Value, ty Type) Value { return value.(Attachment).WithType(ty.(*AttachmentType)) }, @@ -924,11 +932,11 @@ func TestComposite(t *testing.T) { require.Implements(t, (*Composite)(nil), valueWithType) fieldedValueWithType := valueWithType.(Composite) assert.NotNil(t, fieldedValueWithType.getFieldValues()) - assert.NotNil(t, fieldedValueWithType.GetFields()) + assert.NotNil(t, fieldedValueWithType.getFields()) fieldedValue := value.(Composite) - assert.Nil(t, fieldedValue.GetFields()) + assert.Nil(t, fieldedValue.getFields()) } }) @@ -951,10 +959,10 @@ func TestEvent_GetFieldByName(t *testing.T) { assert.Nil(t, FieldsMappedByName(simpleEvent)) assert.Nil(t, SearchFieldByName(simpleEvent, "a")) - simpleEventWithType := simpleEvent.WithType(&EventType{ - Location: utils.TestLocation, - QualifiedIdentifier: "SimpleEvent", - Fields: []Field{ + simpleEventWithType := simpleEvent.WithType(NewEventType( + utils.TestLocation, + "SimpleEvent", + []Field{ { Identifier: "a", Type: IntType, @@ -964,7 +972,8 @@ func TestEvent_GetFieldByName(t *testing.T) { Type: StringType, }, }, - }) + nil, + )) assert.Equal(t, NewInt(1), SearchFieldByName(simpleEventWithType, "a")) assert.Equal(t, String("foo"), SearchFieldByName(simpleEventWithType, "b")) diff --git a/version.go b/version.go index 6dd94f6136..075b6cca64 100644 --- a/version.go +++ b/version.go @@ -21,4 +21,4 @@ package cadence -const Version = "v1.0.0-preview-atree-register-inlining.33" +const Version = "v1.0.0-preview-atree-register-inlining.34"