diff --git a/cmd/util/ledger/migrations/cadence.go b/cmd/util/ledger/migrations/cadence.go index f091335b501..8b795b1082d 100644 --- a/cmd/util/ledger/migrations/cadence.go +++ b/cmd/util/ledger/migrations/cadence.go @@ -227,7 +227,8 @@ type IssueStorageCapConMigration struct { accountsCapabilities *capcons.AccountsCapabilities interpreterMigrationRuntimeConfig InterpreterMigrationRuntimeConfig programs map[runtime.Location]*interpreter.Program - mapping *capcons.PathTypeCapabilityMapping + typedCapabilityMapping *capcons.PathTypeCapabilityMapping + untypedCapabilityMapping *capcons.PathCapabilityMapping reporter reporters.ReportWriter logVerboseDiff bool verboseErrorOutput bool @@ -243,19 +244,21 @@ func NewIssueStorageCapConMigration( chainID flow.ChainID, storageDomainCapabilities *capcons.AccountsCapabilities, programs map[runtime.Location]*interpreter.Program, - storageCapabilityMapping *capcons.PathTypeCapabilityMapping, + typedStorageCapabilityMapping *capcons.PathTypeCapabilityMapping, + untypedStorageCapabilityMapping *capcons.PathCapabilityMapping, opts Options, ) *IssueStorageCapConMigration { return &IssueStorageCapConMigration{ - name: "cadence_storage_cap_con_issue_migration", - reporter: rwf.ReportWriter(issueStorageCapConMigrationReporterName), - chainID: chainID, - accountsCapabilities: storageDomainCapabilities, - programs: programs, - mapping: storageCapabilityMapping, - logVerboseDiff: opts.LogVerboseDiff, - verboseErrorOutput: opts.VerboseErrorOutput, - errorMessageHandler: errorMessageHandler, + name: "cadence_storage_cap_con_issue_migration", + reporter: rwf.ReportWriter(issueStorageCapConMigrationReporterName), + chainID: chainID, + accountsCapabilities: storageDomainCapabilities, + programs: programs, + typedCapabilityMapping: typedStorageCapabilityMapping, + untypedCapabilityMapping: untypedStorageCapabilityMapping, + logVerboseDiff: opts.LogVerboseDiff, + verboseErrorOutput: opts.VerboseErrorOutput, + errorMessageHandler: errorMessageHandler, } } @@ -332,11 +335,17 @@ func (m *IssueStorageCapConMigration) MigrateAccount( capcons.IssueAccountCapabilities( inter, + migrationRuntime.Storage, reporter, address, accountCapabilities, handler, - m.mapping, + m.typedCapabilityMapping, + m.untypedCapabilityMapping, + func(valueType interpreter.StaticType) interpreter.Authorization { + // TODO: + return interpreter.UnauthorizedAccess + }, ) err = migrationRuntime.Storage.NondeterministicCommit(inter, false) @@ -387,7 +396,8 @@ func NewCadence1ValueMigrations( privatePublicCapabilityMapping := &capcons.PathCapabilityMapping{} // Populated by IssueStorageCapConMigration // used by CadenceCapabilityValueMigration - storageCapabilityMapping := &capcons.PathTypeCapabilityMapping{} + typedStorageCapabilityMapping := &capcons.PathTypeCapabilityMapping{} + untypedStorageCapabilityMapping := &capcons.PathCapabilityMapping{} // Populated by StorageCapMigration, // used by IssueStorageCapConMigration @@ -448,7 +458,8 @@ func NewCadence1ValueMigrations( opts.ChainID, storageDomainCapabilities, programs, - storageCapabilityMapping, + typedStorageCapabilityMapping, + untypedStorageCapabilityMapping, opts, ) return migration.name, migration @@ -470,7 +481,8 @@ func NewCadence1ValueMigrations( errorMessageHandler, programs, privatePublicCapabilityMapping, - storageCapabilityMapping, + typedStorageCapabilityMapping, + untypedStorageCapabilityMapping, opts, ) return migration.name, migration diff --git a/cmd/util/ledger/migrations/cadence_values_migration.go b/cmd/util/ledger/migrations/cadence_values_migration.go index 993b27da46b..71e4cc25332 100644 --- a/cmd/util/ledger/migrations/cadence_values_migration.go +++ b/cmd/util/ledger/migrations/cadence_values_migration.go @@ -381,7 +381,8 @@ func NewCadence1CapabilityValueMigration( errorMessageHandler *errorMessageHandler, programs map[runtime.Location]*interpreter.Program, privatePublicCapabilityMapping *capcons.PathCapabilityMapping, - storageCapabilityMapping *capcons.PathTypeCapabilityMapping, + typedStorageCapabilityMapping *capcons.PathTypeCapabilityMapping, + untypedStorageCapabilityMapping *capcons.PathCapabilityMapping, opts Options, ) *CadenceBaseMigration { var diffReporter reporters.ReportWriter @@ -403,9 +404,10 @@ func NewCadence1CapabilityValueMigration( ) []migrations.ValueMigration { return []migrations.ValueMigration{ &capcons.CapabilityValueMigration{ - PrivatePublicCapabilityMapping: privatePublicCapabilityMapping, - StorageCapabilityMapping: storageCapabilityMapping, - Reporter: reporter, + PrivatePublicCapabilityMapping: privatePublicCapabilityMapping, + TypedStorageCapabilityMapping: typedStorageCapabilityMapping, + UntypedStorageCapabilityMapping: untypedStorageCapabilityMapping, + Reporter: reporter, }, } }, @@ -542,6 +544,18 @@ func (t *cadenceValueMigrationReporter) MissingBorrowType( }) } +func (t *cadenceValueMigrationReporter) InferredMissingBorrowType( + accountAddress common.Address, + addressPath interpreter.AddressPath, + borrowType *interpreter.ReferenceStaticType, +) { + t.reportWriter.Write(storageCapConsInferredBorrowTypeEntry{ + AccountAddress: accountAddress, + AddressPath: addressPath, + BorrowType: borrowType, + }) +} + func (t *cadenceValueMigrationReporter) IssuedStorageCapabilityController( accountAddress common.Address, addressPath interpreter.AddressPath, @@ -891,3 +905,34 @@ func (e storageCapConsMissingBorrowTypeEntry) MarshalJSON() ([]byte, error) { Path: e.AddressPath.Path.String(), }) } + +// StorageCapConMissingBorrowType + +type storageCapConsInferredBorrowTypeEntry struct { + AccountAddress common.Address + AddressPath interpreter.AddressPath + BorrowType *interpreter.ReferenceStaticType +} + +var _ valueMigrationReportEntry = storageCapConsInferredBorrowTypeEntry{} +var _ json.Marshaler = storageCapConsInferredBorrowTypeEntry{} + +func (e storageCapConsInferredBorrowTypeEntry) accountAddress() common.Address { + return e.AccountAddress +} + +func (e storageCapConsInferredBorrowTypeEntry) MarshalJSON() ([]byte, error) { + return json.Marshal(struct { + Kind string `json:"kind"` + AccountAddress string `json:"account_address"` + Address string `json:"address"` + Path string `json:"path"` + BorrowType string `json:"borrow_type"` + }{ + Kind: "storage-capcon-inferred-borrow-type", + AccountAddress: e.AccountAddress.HexWithPrefix(), + Address: e.AddressPath.Address.HexWithPrefix(), + Path: e.AddressPath.Path.String(), + BorrowType: string(e.BorrowType.ID()), + }) +} diff --git a/cmd/util/ledger/migrations/cadence_values_migration_test.go b/cmd/util/ledger/migrations/cadence_values_migration_test.go index b31531627e0..db4a1d3e20f 100644 --- a/cmd/util/ledger/migrations/cadence_values_migration_test.go +++ b/cmd/util/ledger/migrations/cadence_values_migration_test.go @@ -2202,9 +2202,9 @@ func TestStoragePathCapabilityMigration(t *testing.T) { storage := migrationRuntime.Storage storageDomain := common.PathDomainStorage.Identifier() - // Store a capability with storage path + // Store a typed-capability with storage path - storageMap := storage.GetStorageMap( + storageMapForAddressA := storage.GetStorageMap( addressA, storageDomain, true, @@ -2216,44 +2216,76 @@ func TestStoragePathCapabilityMigration(t *testing.T) { interpreter.PrimitiveStaticTypeAnyStruct, ) - fooCapStorageMapKey := interpreter.StringStorageMapKey("fooCap") + aCapStorageMapKey := interpreter.StringStorageMapKey("aCap") - capabilityFoo := &interpreter.PathCapabilityValue{ + aCapability := &interpreter.PathCapabilityValue{ BorrowType: borrowType, - Path: interpreter.NewUnmeteredPathValue(common.PathDomainStorage, "foo"), + Path: interpreter.NewUnmeteredPathValue(common.PathDomainStorage, "a"), // Important: Capability must be for a different address, // compared to where the capability is stored. Address: interpreter.AddressValue(addressB), } - storageMap.WriteValue( + storageMapForAddressA.WriteValue( migrationRuntime.Interpreter, - fooCapStorageMapKey, - capabilityFoo, + aCapStorageMapKey, + aCapability, ) // Store another capability with storage path, but without a borrow type. + // But the target path does not contain a value. - barCapStorageMapKey := interpreter.StringStorageMapKey("barCap") + bCapStorageMapKey := interpreter.StringStorageMapKey("bCap") - capabilityBar := &interpreter.PathCapabilityValue{ - Path: interpreter.NewUnmeteredPathValue(common.PathDomainStorage, "bar"), + bCapability := &interpreter.PathCapabilityValue{ + Path: interpreter.NewUnmeteredPathValue(common.PathDomainStorage, "b"), // Important: Capability must be for a different address, // compared to where the capability is stored. Address: interpreter.AddressValue(addressB), } - storageMap.WriteValue( + storageMapForAddressA.WriteValue( + migrationRuntime.Interpreter, + bCapStorageMapKey, + bCapability, + ) + + // Store a third capability with storage path, without a borrow type. + // But the target path contains a value. + + storageMapForAddressB := storage.GetStorageMap( + addressB, + storageDomain, + true, + ) + + storageMapForAddressB.WriteValue( migrationRuntime.Interpreter, - barCapStorageMapKey, - capabilityBar, + interpreter.StringStorageMapKey("c"), + interpreter.NewUnmeteredStringValue("This is the bar value"), ) - // Store a third capability with storage path, and with a broken type + cCapStorageMapKey := interpreter.StringStorageMapKey("cCap") + + cCapability := &interpreter.PathCapabilityValue{ + Path: interpreter.NewUnmeteredPathValue(common.PathDomainStorage, "c"), - bazBorrowType := interpreter.NewReferenceStaticType( + // Important: Capability must be for a different address, + // compared to where the capability is stored. + Address: interpreter.AddressValue(addressB), + } + + storageMapForAddressA.WriteValue( + migrationRuntime.Interpreter, + cCapStorageMapKey, + cCapability, + ) + + // Store a fourth capability with storage path, and with a broken type + + dBorrowType := interpreter.NewReferenceStaticType( nil, interpreter.UnauthorizedAccess, interpreter.NewCompositeStaticTypeComputeTypeID( @@ -2263,21 +2295,21 @@ func TestStoragePathCapabilityMigration(t *testing.T) { ), ) - bazCapStorageMapKey := interpreter.StringStorageMapKey("bazCap") + dCapStorageMapKey := interpreter.StringStorageMapKey("dCap") - bazCapability := &interpreter.PathCapabilityValue{ - BorrowType: bazBorrowType, - Path: interpreter.NewUnmeteredPathValue(common.PathDomainStorage, "baz"), + dCapability := &interpreter.PathCapabilityValue{ + BorrowType: dBorrowType, + Path: interpreter.NewUnmeteredPathValue(common.PathDomainStorage, "d"), // Important: Capability must be for a different address, // compared to where the capability is stored. Address: interpreter.AddressValue(addressB), } - storageMap.WriteValue( + storageMapForAddressA.WriteValue( migrationRuntime.Interpreter, - bazCapStorageMapKey, - bazCapability, + dCapStorageMapKey, + dCapability, ) // Commit @@ -2336,87 +2368,131 @@ func TestStoragePathCapabilityMigration(t *testing.T) { reporter := rwf.reportWriters[capabilityValueMigrationReporterName] require.NotNil(t, reporter) - require.Len(t, reporter.entries, 5) + require.Len(t, reporter.entries, 7) + + inferredBorrowType := interpreter.NewReferenceStaticType( + nil, + interpreter.UnauthorizedAccess, + interpreter.PrimitiveStaticTypeString, + ) require.Equal( t, []any{ - storageCapConsMissingBorrowTypeEntry{ + capabilityMigrationEntry{ AccountAddress: addressA, AddressPath: interpreter.AddressPath{ Address: addressB, - Path: interpreter.NewUnmeteredPathValue(common.PathDomainStorage, "bar"), + Path: interpreter.NewUnmeteredPathValue(common.PathDomainStorage, "c"), + }, + BorrowType: interpreter.NewReferenceStaticType( + nil, + interpreter.UnauthorizedAccess, + interpreter.PrimitiveStaticTypeString, + ), + CapabilityID: 3, + }, + cadenceValueMigrationEntry{ + StorageKey: interpreter.StorageKey{ + Key: storageDomain, + Address: addressA, }, + StorageMapKey: cCapStorageMapKey, + Migration: "CapabilityValueMigration", }, capabilityMigrationEntry{ AccountAddress: addressA, AddressPath: interpreter.AddressPath{ Address: addressB, - Path: interpreter.NewUnmeteredPathValue(common.PathDomainStorage, "baz"), + Path: interpreter.NewUnmeteredPathValue(common.PathDomainStorage, "d"), }, - BorrowType: bazBorrowType, - CapabilityID: 3, + BorrowType: dBorrowType, + CapabilityID: 4, }, cadenceValueMigrationEntry{ StorageKey: interpreter.StorageKey{ Key: storageDomain, Address: addressA, }, - StorageMapKey: bazCapStorageMapKey, + StorageMapKey: dCapStorageMapKey, Migration: "CapabilityValueMigration", }, capabilityMigrationEntry{ AccountAddress: addressA, AddressPath: interpreter.AddressPath{ Address: addressB, - Path: interpreter.NewUnmeteredPathValue(common.PathDomainStorage, "foo"), + Path: interpreter.NewUnmeteredPathValue(common.PathDomainStorage, "a"), }, BorrowType: borrowType, - CapabilityID: 4, + CapabilityID: 5, }, cadenceValueMigrationEntry{ StorageKey: interpreter.StorageKey{ Key: storageDomain, Address: addressA, }, - StorageMapKey: fooCapStorageMapKey, + StorageMapKey: aCapStorageMapKey, Migration: "CapabilityValueMigration", }, + capabilityMissingCapabilityIDEntry{ + AccountAddress: addressA, + AddressPath: interpreter.AddressPath{ + Address: addressB, + Path: interpreter.NewUnmeteredPathValue(common.PathDomainStorage, "b"), + }, + }, }, reporter.entries, ) issueStorageCapConReporter := rwf.reportWriters[issueStorageCapConMigrationReporterName] require.NotNil(t, issueStorageCapConReporter) - require.Len(t, issueStorageCapConReporter.entries, 3) + require.Len(t, issueStorageCapConReporter.entries, 5) require.Equal( t, []any{ - storageCapConsMissingBorrowTypeEntry{ + storageCapConsInferredBorrowTypeEntry{ AccountAddress: addressB, AddressPath: interpreter.AddressPath{ Address: addressB, - Path: interpreter.NewUnmeteredPathValue(common.PathDomainStorage, "bar"), + Path: interpreter.NewUnmeteredPathValue(common.PathDomainStorage, "c"), }, + BorrowType: inferredBorrowType, }, storageCapConIssuedEntry{ AccountAddress: addressB, AddressPath: interpreter.AddressPath{ Address: addressB, - Path: interpreter.NewUnmeteredPathValue(common.PathDomainStorage, "baz"), + Path: interpreter.NewUnmeteredPathValue(common.PathDomainStorage, "c"), }, - BorrowType: bazBorrowType, + BorrowType: inferredBorrowType, CapabilityID: 3, }, storageCapConIssuedEntry{ AccountAddress: addressB, AddressPath: interpreter.AddressPath{ Address: addressB, - Path: interpreter.NewUnmeteredPathValue(common.PathDomainStorage, "foo"), + Path: interpreter.NewUnmeteredPathValue(common.PathDomainStorage, "d"), }, - BorrowType: borrowType, + BorrowType: dBorrowType, CapabilityID: 4, }, + storageCapConIssuedEntry{ + AccountAddress: addressB, + AddressPath: interpreter.AddressPath{ + Address: addressB, + Path: interpreter.NewUnmeteredPathValue(common.PathDomainStorage, "a"), + }, + BorrowType: borrowType, + CapabilityID: 5, + }, + storageCapConsMissingBorrowTypeEntry{ + AccountAddress: addressB, + AddressPath: interpreter.AddressPath{ + Address: addressB, + Path: interpreter.NewUnmeteredPathValue(common.PathDomainStorage, "b"), + }, + }, }, issueStorageCapConReporter.entries, ) @@ -2432,10 +2508,12 @@ func TestStoragePathCapabilityMigration(t *testing.T) { access(all) fun main() { let storage = getAuthAccount(%s).storage - let fooCap = storage.copy(from: /storage/fooCap)! - let barCap = storage.copy(from: /storage/barCap)! - assert(fooCap.id == 4) - assert(barCap.id == 0) + let aCap = storage.copy(from: /storage/aCap)! + let bCap = storage.copy(from: /storage/bCap)! + let cCap = storage.copy(from: /storage/cCap)! + assert(aCap.id == 5) + assert(bCap.id == 0) + assert(cCap.id == 3) } `, addressA.HexWithPrefix(), @@ -2454,7 +2532,7 @@ func TestStoragePathCapabilityMigration(t *testing.T) { access(all) fun main() { let storage = getAuthAccount(%s).storage - let bazCap = storage.copy(from: /storage/bazCap)! + let dCap = storage.copy(from: /storage/dCap)! } `, addressA.HexWithPrefix(), @@ -2474,9 +2552,9 @@ func TestStoragePathCapabilityMigration(t *testing.T) { access(all) fun main() { let capabilities = getAuthAccount(%s).capabilities.storage - let fooCapCons = capabilities.getControllers(forPath: /storage/foo) - assert(fooCapCons.length == 1) - assert(fooCapCons[0].capabilityID == 4) + let aCapCons = capabilities.getControllers(forPath: /storage/a) + assert(aCapCons.length == 1) + assert(aCapCons[0].capabilityID == 5) } `, addressB.HexWithPrefix(), diff --git a/go.mod b/go.mod index 38adcf3d1e9..af0ae004d09 100644 --- a/go.mod +++ b/go.mod @@ -48,12 +48,12 @@ require ( github.com/multiformats/go-multiaddr-dns v0.3.1 github.com/multiformats/go-multihash v0.2.3 github.com/onflow/atree v0.8.0-rc.5 - github.com/onflow/cadence v1.0.0-preview.45 + github.com/onflow/cadence v1.0.0-preview.47 github.com/onflow/crypto v0.25.1 github.com/onflow/flow v0.3.4 github.com/onflow/flow-core-contracts/lib/go/contracts v1.3.1 github.com/onflow/flow-core-contracts/lib/go/templates v1.3.1 - github.com/onflow/flow-go-sdk v1.0.0-preview.47 + github.com/onflow/flow-go-sdk v1.0.0-preview.49 github.com/onflow/flow/protobuf/go/flow v0.4.5 github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 github.com/pierrec/lz4 v2.6.1+incompatible diff --git a/go.sum b/go.sum index d2c9ca34fd6..c0bbca65399 100644 --- a/go.sum +++ b/go.sum @@ -2167,8 +2167,8 @@ github.com/onflow/atree v0.8.0-rc.5/go.mod h1:yccR+LR7xc1Jdic0mrjocbHvUD7lnVvg8/ github.com/onflow/boxo v0.0.0-20240201202436-f2477b92f483 h1:LpiQhTAfM9CAmNVEs0n//cBBgCg+vJSiIxTHYUklZ84= github.com/onflow/boxo v0.0.0-20240201202436-f2477b92f483/go.mod h1:pIZgTWdm3k3pLF9Uq6MB8JEcW07UDwNJjlXW1HELW80= github.com/onflow/cadence v1.0.0-M3/go.mod h1:odXGZZ/wGNA5mwT8bC9v8u8EXACHllB2ABSZK65TGL8= -github.com/onflow/cadence v1.0.0-preview.45 h1:vWX+HI1SvxaG47FL2XW80rxjAhV88oySLB5vAoOtnXI= -github.com/onflow/cadence v1.0.0-preview.45/go.mod h1:BCoenp1TYp+SmG7FGWStjehvvzcvNQ3xvpK5rkthq3Y= +github.com/onflow/cadence v1.0.0-preview.47 h1:RpYee9m2A3BmEIe8FmIO4XuL7j8lQD+8R4Qo5MQkIQ4= +github.com/onflow/cadence v1.0.0-preview.47/go.mod h1:BCoenp1TYp+SmG7FGWStjehvvzcvNQ3xvpK5rkthq3Y= github.com/onflow/crypto v0.25.0/go.mod h1:C8FbaX0x8y+FxWjbkHy0Q4EASCDR9bSPWZqlpCLYyVI= github.com/onflow/crypto v0.25.1 h1:0txy2PKPMM873JbpxQNbJmuOJtD56bfs48RQfm0ts5A= github.com/onflow/crypto v0.25.1/go.mod h1:C8FbaX0x8y+FxWjbkHy0Q4EASCDR9bSPWZqlpCLYyVI= @@ -2183,8 +2183,8 @@ github.com/onflow/flow-ft/lib/go/contracts v1.0.0/go.mod h1:PwsL8fC81cjnUnTfmyL/ github.com/onflow/flow-ft/lib/go/templates v1.0.0 h1:6cMS/lUJJ17HjKBfMO/eh0GGvnpElPgBXx7h5aoWJhs= github.com/onflow/flow-ft/lib/go/templates v1.0.0/go.mod h1:uQ8XFqmMK2jxyBSVrmyuwdWjTEb+6zGjRYotfDJ5pAE= github.com/onflow/flow-go-sdk v1.0.0-M1/go.mod h1:TDW0MNuCs4SvqYRUzkbRnRmHQL1h4X8wURsCw9P9beo= -github.com/onflow/flow-go-sdk v1.0.0-preview.47 h1:vdolgj6nFCR/xPoEOHyYzAg9o9hdXQpPnL7HJPPTXGU= -github.com/onflow/flow-go-sdk v1.0.0-preview.47/go.mod h1:YAYzmUUytKqri3aMgeKGjvDjvawignNobUI9s2mKdXY= +github.com/onflow/flow-go-sdk v1.0.0-preview.49 h1:nR+m3MJOsnpjjyzpODErUhM02hDCTrwh1CTphwiTqKo= +github.com/onflow/flow-go-sdk v1.0.0-preview.49/go.mod h1:cZlefeoP71Vr69rKX1BGQsyl3pL63OrKDsrbf2Kxw1E= github.com/onflow/flow-nft/lib/go/contracts v1.2.1 h1:woAAS5z651sDpi7ihAHll8NvRS9uFXIXkL6xR+bKFZY= github.com/onflow/flow-nft/lib/go/contracts v1.2.1/go.mod h1:2gpbza+uzs1k7x31hkpBPlggIRkI53Suo0n2AyA2HcE= github.com/onflow/flow-nft/lib/go/templates v1.2.0 h1:JSQyh9rg0RC+D1930BiRXN8lrtMs+ubVMK6aQPon6Yc= diff --git a/insecure/go.mod b/insecure/go.mod index 5ca583528d5..4d9420555dd 100644 --- a/insecure/go.mod +++ b/insecure/go.mod @@ -202,12 +202,12 @@ require ( github.com/multiformats/go-varint v0.0.7 // indirect github.com/olekukonko/tablewriter v0.0.5 // indirect github.com/onflow/atree v0.8.0-rc.5 // indirect - github.com/onflow/cadence v1.0.0-preview.45 // indirect + github.com/onflow/cadence v1.0.0-preview.47 // indirect github.com/onflow/flow-core-contracts/lib/go/contracts v1.3.1 // indirect github.com/onflow/flow-core-contracts/lib/go/templates v1.3.1 // indirect github.com/onflow/flow-ft/lib/go/contracts v1.0.0 // indirect github.com/onflow/flow-ft/lib/go/templates v1.0.0 // indirect - github.com/onflow/flow-go-sdk v1.0.0-preview.47 // indirect + github.com/onflow/flow-go-sdk v1.0.0-preview.49 // indirect github.com/onflow/flow-nft/lib/go/contracts v1.2.1 // indirect github.com/onflow/flow-nft/lib/go/templates v1.2.0 // indirect github.com/onflow/flow/protobuf/go/flow v0.4.5 // indirect diff --git a/insecure/go.sum b/insecure/go.sum index d2fd62afe8c..0ce78052a98 100644 --- a/insecure/go.sum +++ b/insecure/go.sum @@ -2157,8 +2157,8 @@ github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f/go.mod h1:xvP61FoOs github.com/onflow/atree v0.8.0-rc.5 h1:1sU+c6UfDzq/EjM8nTw4EI8GvEMarcxkWkJKy6piFSY= github.com/onflow/atree v0.8.0-rc.5/go.mod h1:yccR+LR7xc1Jdic0mrjocbHvUD7lnVvg8/Ct1AA5zBo= github.com/onflow/cadence v1.0.0-M3/go.mod h1:odXGZZ/wGNA5mwT8bC9v8u8EXACHllB2ABSZK65TGL8= -github.com/onflow/cadence v1.0.0-preview.45 h1:vWX+HI1SvxaG47FL2XW80rxjAhV88oySLB5vAoOtnXI= -github.com/onflow/cadence v1.0.0-preview.45/go.mod h1:BCoenp1TYp+SmG7FGWStjehvvzcvNQ3xvpK5rkthq3Y= +github.com/onflow/cadence v1.0.0-preview.47 h1:RpYee9m2A3BmEIe8FmIO4XuL7j8lQD+8R4Qo5MQkIQ4= +github.com/onflow/cadence v1.0.0-preview.47/go.mod h1:BCoenp1TYp+SmG7FGWStjehvvzcvNQ3xvpK5rkthq3Y= github.com/onflow/crypto v0.25.0/go.mod h1:C8FbaX0x8y+FxWjbkHy0Q4EASCDR9bSPWZqlpCLYyVI= github.com/onflow/crypto v0.25.1 h1:0txy2PKPMM873JbpxQNbJmuOJtD56bfs48RQfm0ts5A= github.com/onflow/crypto v0.25.1/go.mod h1:C8FbaX0x8y+FxWjbkHy0Q4EASCDR9bSPWZqlpCLYyVI= @@ -2171,8 +2171,8 @@ github.com/onflow/flow-ft/lib/go/contracts v1.0.0/go.mod h1:PwsL8fC81cjnUnTfmyL/ github.com/onflow/flow-ft/lib/go/templates v1.0.0 h1:6cMS/lUJJ17HjKBfMO/eh0GGvnpElPgBXx7h5aoWJhs= github.com/onflow/flow-ft/lib/go/templates v1.0.0/go.mod h1:uQ8XFqmMK2jxyBSVrmyuwdWjTEb+6zGjRYotfDJ5pAE= github.com/onflow/flow-go-sdk v1.0.0-M1/go.mod h1:TDW0MNuCs4SvqYRUzkbRnRmHQL1h4X8wURsCw9P9beo= -github.com/onflow/flow-go-sdk v1.0.0-preview.47 h1:vdolgj6nFCR/xPoEOHyYzAg9o9hdXQpPnL7HJPPTXGU= -github.com/onflow/flow-go-sdk v1.0.0-preview.47/go.mod h1:YAYzmUUytKqri3aMgeKGjvDjvawignNobUI9s2mKdXY= +github.com/onflow/flow-go-sdk v1.0.0-preview.49 h1:nR+m3MJOsnpjjyzpODErUhM02hDCTrwh1CTphwiTqKo= +github.com/onflow/flow-go-sdk v1.0.0-preview.49/go.mod h1:cZlefeoP71Vr69rKX1BGQsyl3pL63OrKDsrbf2Kxw1E= github.com/onflow/flow-nft/lib/go/contracts v1.2.1 h1:woAAS5z651sDpi7ihAHll8NvRS9uFXIXkL6xR+bKFZY= github.com/onflow/flow-nft/lib/go/contracts v1.2.1/go.mod h1:2gpbza+uzs1k7x31hkpBPlggIRkI53Suo0n2AyA2HcE= github.com/onflow/flow-nft/lib/go/templates v1.2.0 h1:JSQyh9rg0RC+D1930BiRXN8lrtMs+ubVMK6aQPon6Yc= diff --git a/integration/go.mod b/integration/go.mod index 11b619df0cb..16776bb187f 100644 --- a/integration/go.mod +++ b/integration/go.mod @@ -20,13 +20,13 @@ require ( github.com/ipfs/go-ds-badger2 v0.1.3 github.com/ipfs/go-ds-pebble v0.3.1 github.com/libp2p/go-libp2p v0.32.2 - github.com/onflow/cadence v1.0.0-preview.45 + github.com/onflow/cadence v1.0.0-preview.47 github.com/onflow/crypto v0.25.1 github.com/onflow/flow-core-contracts/lib/go/contracts v1.3.1 github.com/onflow/flow-core-contracts/lib/go/templates v1.3.1 github.com/onflow/flow-emulator v1.0.0-preview.36.0.20240729195722-d4eb1c30eb9f github.com/onflow/flow-go v0.36.8-0.20240729193633-433a32eeb0cd - github.com/onflow/flow-go-sdk v1.0.0-preview.47 + github.com/onflow/flow-go-sdk v1.0.0-preview.49 github.com/onflow/flow-go/insecure v0.0.0-00010101000000-000000000000 github.com/onflow/flow/protobuf/go/flow v0.4.5 github.com/onflow/go-ethereum v1.14.7 diff --git a/integration/go.sum b/integration/go.sum index f1da82ef6cd..4c938e9f7be 100644 --- a/integration/go.sum +++ b/integration/go.sum @@ -2141,8 +2141,8 @@ github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f/go.mod h1:xvP61FoOs github.com/onflow/atree v0.8.0-rc.5 h1:1sU+c6UfDzq/EjM8nTw4EI8GvEMarcxkWkJKy6piFSY= github.com/onflow/atree v0.8.0-rc.5/go.mod h1:yccR+LR7xc1Jdic0mrjocbHvUD7lnVvg8/Ct1AA5zBo= github.com/onflow/cadence v1.0.0-M3/go.mod h1:odXGZZ/wGNA5mwT8bC9v8u8EXACHllB2ABSZK65TGL8= -github.com/onflow/cadence v1.0.0-preview.45 h1:vWX+HI1SvxaG47FL2XW80rxjAhV88oySLB5vAoOtnXI= -github.com/onflow/cadence v1.0.0-preview.45/go.mod h1:BCoenp1TYp+SmG7FGWStjehvvzcvNQ3xvpK5rkthq3Y= +github.com/onflow/cadence v1.0.0-preview.47 h1:RpYee9m2A3BmEIe8FmIO4XuL7j8lQD+8R4Qo5MQkIQ4= +github.com/onflow/cadence v1.0.0-preview.47/go.mod h1:BCoenp1TYp+SmG7FGWStjehvvzcvNQ3xvpK5rkthq3Y= github.com/onflow/crypto v0.25.0/go.mod h1:C8FbaX0x8y+FxWjbkHy0Q4EASCDR9bSPWZqlpCLYyVI= github.com/onflow/crypto v0.25.1 h1:0txy2PKPMM873JbpxQNbJmuOJtD56bfs48RQfm0ts5A= github.com/onflow/crypto v0.25.1/go.mod h1:C8FbaX0x8y+FxWjbkHy0Q4EASCDR9bSPWZqlpCLYyVI= @@ -2157,8 +2157,8 @@ github.com/onflow/flow-ft/lib/go/contracts v1.0.0/go.mod h1:PwsL8fC81cjnUnTfmyL/ github.com/onflow/flow-ft/lib/go/templates v1.0.0 h1:6cMS/lUJJ17HjKBfMO/eh0GGvnpElPgBXx7h5aoWJhs= github.com/onflow/flow-ft/lib/go/templates v1.0.0/go.mod h1:uQ8XFqmMK2jxyBSVrmyuwdWjTEb+6zGjRYotfDJ5pAE= github.com/onflow/flow-go-sdk v1.0.0-M1/go.mod h1:TDW0MNuCs4SvqYRUzkbRnRmHQL1h4X8wURsCw9P9beo= -github.com/onflow/flow-go-sdk v1.0.0-preview.47 h1:vdolgj6nFCR/xPoEOHyYzAg9o9hdXQpPnL7HJPPTXGU= -github.com/onflow/flow-go-sdk v1.0.0-preview.47/go.mod h1:YAYzmUUytKqri3aMgeKGjvDjvawignNobUI9s2mKdXY= +github.com/onflow/flow-go-sdk v1.0.0-preview.49 h1:nR+m3MJOsnpjjyzpODErUhM02hDCTrwh1CTphwiTqKo= +github.com/onflow/flow-go-sdk v1.0.0-preview.49/go.mod h1:cZlefeoP71Vr69rKX1BGQsyl3pL63OrKDsrbf2Kxw1E= github.com/onflow/flow-nft/lib/go/contracts v1.2.1 h1:woAAS5z651sDpi7ihAHll8NvRS9uFXIXkL6xR+bKFZY= github.com/onflow/flow-nft/lib/go/contracts v1.2.1/go.mod h1:2gpbza+uzs1k7x31hkpBPlggIRkI53Suo0n2AyA2HcE= github.com/onflow/flow-nft/lib/go/templates v1.2.0 h1:JSQyh9rg0RC+D1930BiRXN8lrtMs+ubVMK6aQPon6Yc=