mirror of
https://github.com/luxfi/sdk.git
synced 2026-10-30 15:19:23 +00:00
Lux Partners Limited is not the entity behind this work. Every place the old name stood — copyright lines, site footers, brand config, legal and compliance text — now names the company that actually holds it. lux.fund is the exception and is not renamed to match: that site belongs to Lux Assets Management LLC, a different company, and it says so. Two kinds of line were left for a person rather than rewritten. A dated news item recording that Lux Partners Limited was established in the Isle of Man is a historical fact, and renaming it would falsify the record. And a sentence asserting that the company is domiciled in the Isle of Man is a claim about a jurisdiction, not a name — an Inc or an LLC is not an Isle of Man company, so swapping the name there would assert something untrue. Co-authored-by: Hanzo Dev <[email protected]>
44 lines
916 B
Go
44 lines
916 B
Go
// Copyright (C) 2025, Lux Industries Inc All rights reserved.
|
|
// See the file LICENSE for licensing terms.
|
|
|
|
package contract
|
|
|
|
import "github.com/luxfi/crypto"
|
|
|
|
// GetContractOwner gets owner for https://docs.openzeppelin.com/contracts/2.x/api/ownership#Ownable-owner contracts
|
|
func GetContractOwner(
|
|
rpcURL string,
|
|
contractAddress crypto.Address,
|
|
) (crypto.Address, error) {
|
|
out, err := CallToMethod(
|
|
rpcURL,
|
|
contractAddress,
|
|
"owner()->(address)",
|
|
)
|
|
if err != nil {
|
|
return crypto.Address{}, err
|
|
}
|
|
return GetSmartContractCallResult[crypto.Address]("owner", out)
|
|
}
|
|
|
|
func TransferOwnership(
|
|
rpcURL string,
|
|
contractAddress crypto.Address,
|
|
ownerPrivateKey string,
|
|
newOwner crypto.Address,
|
|
) error {
|
|
_, _, err := TxToMethod(
|
|
rpcURL,
|
|
false,
|
|
crypto.Address{},
|
|
ownerPrivateKey,
|
|
contractAddress,
|
|
nil,
|
|
"transfer ownership",
|
|
nil,
|
|
"transferOwnership(address)",
|
|
newOwner,
|
|
)
|
|
return err
|
|
}
|