@atomiqlabs/chain-starknet
Version:
Starknet specific base implementation
756 lines (755 loc) • 27.3 kB
TypeScript
export declare const ERC20Abi: readonly [{
readonly type: "impl";
readonly name: "MintableToken";
readonly interface_name: "src::mintable_token_interface::IMintableToken";
}, {
readonly type: "struct";
readonly name: "core::integer::u256";
readonly members: readonly [{
readonly name: "low";
readonly type: "core::integer::u128";
}, {
readonly name: "high";
readonly type: "core::integer::u128";
}];
}, {
readonly type: "interface";
readonly name: "src::mintable_token_interface::IMintableToken";
readonly items: readonly [{
readonly type: "function";
readonly name: "permissioned_mint";
readonly inputs: readonly [{
readonly name: "account";
readonly type: "core::starknet::contract_address::ContractAddress";
}, {
readonly name: "amount";
readonly type: "core::integer::u256";
}];
readonly outputs: readonly [];
readonly state_mutability: "external";
}, {
readonly type: "function";
readonly name: "permissioned_burn";
readonly inputs: readonly [{
readonly name: "account";
readonly type: "core::starknet::contract_address::ContractAddress";
}, {
readonly name: "amount";
readonly type: "core::integer::u256";
}];
readonly outputs: readonly [];
readonly state_mutability: "external";
}];
}, {
readonly type: "impl";
readonly name: "MintableTokenCamelImpl";
readonly interface_name: "src::mintable_token_interface::IMintableTokenCamel";
}, {
readonly type: "interface";
readonly name: "src::mintable_token_interface::IMintableTokenCamel";
readonly items: readonly [{
readonly type: "function";
readonly name: "permissionedMint";
readonly inputs: readonly [{
readonly name: "account";
readonly type: "core::starknet::contract_address::ContractAddress";
}, {
readonly name: "amount";
readonly type: "core::integer::u256";
}];
readonly outputs: readonly [];
readonly state_mutability: "external";
}, {
readonly type: "function";
readonly name: "permissionedBurn";
readonly inputs: readonly [{
readonly name: "account";
readonly type: "core::starknet::contract_address::ContractAddress";
}, {
readonly name: "amount";
readonly type: "core::integer::u256";
}];
readonly outputs: readonly [];
readonly state_mutability: "external";
}];
}, {
readonly type: "impl";
readonly name: "Replaceable";
readonly interface_name: "src::replaceability_interface::IReplaceable";
}, {
readonly type: "struct";
readonly name: "core::array::Span::<core::felt252>";
readonly members: readonly [{
readonly name: "snapshot";
readonly type: "@core::array::Array::<core::felt252>";
}];
}, {
readonly type: "struct";
readonly name: "src::replaceability_interface::EICData";
readonly members: readonly [{
readonly name: "eic_hash";
readonly type: "core::starknet::class_hash::ClassHash";
}, {
readonly name: "eic_init_data";
readonly type: "core::array::Span::<core::felt252>";
}];
}, {
readonly type: "enum";
readonly name: "core::option::Option::<src::replaceability_interface::EICData>";
readonly variants: readonly [{
readonly name: "Some";
readonly type: "src::replaceability_interface::EICData";
}, {
readonly name: "None";
readonly type: "()";
}];
}, {
readonly type: "enum";
readonly name: "core::bool";
readonly variants: readonly [{
readonly name: "False";
readonly type: "()";
}, {
readonly name: "True";
readonly type: "()";
}];
}, {
readonly type: "struct";
readonly name: "src::replaceability_interface::ImplementationData";
readonly members: readonly [{
readonly name: "impl_hash";
readonly type: "core::starknet::class_hash::ClassHash";
}, {
readonly name: "eic_data";
readonly type: "core::option::Option::<src::replaceability_interface::EICData>";
}, {
readonly name: "final";
readonly type: "core::bool";
}];
}, {
readonly type: "interface";
readonly name: "src::replaceability_interface::IReplaceable";
readonly items: readonly [{
readonly type: "function";
readonly name: "get_upgrade_delay";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly type: "core::integer::u64";
}];
readonly state_mutability: "view";
}, {
readonly type: "function";
readonly name: "get_impl_activation_time";
readonly inputs: readonly [{
readonly name: "implementation_data";
readonly type: "src::replaceability_interface::ImplementationData";
}];
readonly outputs: readonly [{
readonly type: "core::integer::u64";
}];
readonly state_mutability: "view";
}, {
readonly type: "function";
readonly name: "add_new_implementation";
readonly inputs: readonly [{
readonly name: "implementation_data";
readonly type: "src::replaceability_interface::ImplementationData";
}];
readonly outputs: readonly [];
readonly state_mutability: "external";
}, {
readonly type: "function";
readonly name: "remove_implementation";
readonly inputs: readonly [{
readonly name: "implementation_data";
readonly type: "src::replaceability_interface::ImplementationData";
}];
readonly outputs: readonly [];
readonly state_mutability: "external";
}, {
readonly type: "function";
readonly name: "replace_to";
readonly inputs: readonly [{
readonly name: "implementation_data";
readonly type: "src::replaceability_interface::ImplementationData";
}];
readonly outputs: readonly [];
readonly state_mutability: "external";
}];
}, {
readonly type: "impl";
readonly name: "AccessControlImplExternal";
readonly interface_name: "src::access_control_interface::IAccessControl";
}, {
readonly type: "interface";
readonly name: "src::access_control_interface::IAccessControl";
readonly items: readonly [{
readonly type: "function";
readonly name: "has_role";
readonly inputs: readonly [{
readonly name: "role";
readonly type: "core::felt252";
}, {
readonly name: "account";
readonly type: "core::starknet::contract_address::ContractAddress";
}];
readonly outputs: readonly [{
readonly type: "core::bool";
}];
readonly state_mutability: "view";
}, {
readonly type: "function";
readonly name: "get_role_admin";
readonly inputs: readonly [{
readonly name: "role";
readonly type: "core::felt252";
}];
readonly outputs: readonly [{
readonly type: "core::felt252";
}];
readonly state_mutability: "view";
}];
}, {
readonly type: "impl";
readonly name: "RolesImpl";
readonly interface_name: "src::roles_interface::IMinimalRoles";
}, {
readonly type: "interface";
readonly name: "src::roles_interface::IMinimalRoles";
readonly items: readonly [{
readonly type: "function";
readonly name: "is_governance_admin";
readonly inputs: readonly [{
readonly name: "account";
readonly type: "core::starknet::contract_address::ContractAddress";
}];
readonly outputs: readonly [{
readonly type: "core::bool";
}];
readonly state_mutability: "view";
}, {
readonly type: "function";
readonly name: "is_upgrade_governor";
readonly inputs: readonly [{
readonly name: "account";
readonly type: "core::starknet::contract_address::ContractAddress";
}];
readonly outputs: readonly [{
readonly type: "core::bool";
}];
readonly state_mutability: "view";
}, {
readonly type: "function";
readonly name: "register_governance_admin";
readonly inputs: readonly [{
readonly name: "account";
readonly type: "core::starknet::contract_address::ContractAddress";
}];
readonly outputs: readonly [];
readonly state_mutability: "external";
}, {
readonly type: "function";
readonly name: "remove_governance_admin";
readonly inputs: readonly [{
readonly name: "account";
readonly type: "core::starknet::contract_address::ContractAddress";
}];
readonly outputs: readonly [];
readonly state_mutability: "external";
}, {
readonly type: "function";
readonly name: "register_upgrade_governor";
readonly inputs: readonly [{
readonly name: "account";
readonly type: "core::starknet::contract_address::ContractAddress";
}];
readonly outputs: readonly [];
readonly state_mutability: "external";
}, {
readonly type: "function";
readonly name: "remove_upgrade_governor";
readonly inputs: readonly [{
readonly name: "account";
readonly type: "core::starknet::contract_address::ContractAddress";
}];
readonly outputs: readonly [];
readonly state_mutability: "external";
}, {
readonly type: "function";
readonly name: "renounce";
readonly inputs: readonly [{
readonly name: "role";
readonly type: "core::felt252";
}];
readonly outputs: readonly [];
readonly state_mutability: "external";
}];
}, {
readonly type: "impl";
readonly name: "ERC20Impl";
readonly interface_name: "openzeppelin::token::erc20::interface::IERC20";
}, {
readonly type: "interface";
readonly name: "openzeppelin::token::erc20::interface::IERC20";
readonly items: readonly [{
readonly type: "function";
readonly name: "name";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly type: "core::felt252";
}];
readonly state_mutability: "view";
}, {
readonly type: "function";
readonly name: "symbol";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly type: "core::felt252";
}];
readonly state_mutability: "view";
}, {
readonly type: "function";
readonly name: "decimals";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly type: "core::integer::u8";
}];
readonly state_mutability: "view";
}, {
readonly type: "function";
readonly name: "total_supply";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly type: "core::integer::u256";
}];
readonly state_mutability: "view";
}, {
readonly type: "function";
readonly name: "balance_of";
readonly inputs: readonly [{
readonly name: "account";
readonly type: "core::starknet::contract_address::ContractAddress";
}];
readonly outputs: readonly [{
readonly type: "core::integer::u256";
}];
readonly state_mutability: "view";
}, {
readonly type: "function";
readonly name: "allowance";
readonly inputs: readonly [{
readonly name: "owner";
readonly type: "core::starknet::contract_address::ContractAddress";
}, {
readonly name: "spender";
readonly type: "core::starknet::contract_address::ContractAddress";
}];
readonly outputs: readonly [{
readonly type: "core::integer::u256";
}];
readonly state_mutability: "view";
}, {
readonly type: "function";
readonly name: "transfer";
readonly inputs: readonly [{
readonly name: "recipient";
readonly type: "core::starknet::contract_address::ContractAddress";
}, {
readonly name: "amount";
readonly type: "core::integer::u256";
}];
readonly outputs: readonly [{
readonly type: "core::bool";
}];
readonly state_mutability: "external";
}, {
readonly type: "function";
readonly name: "transfer_from";
readonly inputs: readonly [{
readonly name: "sender";
readonly type: "core::starknet::contract_address::ContractAddress";
}, {
readonly name: "recipient";
readonly type: "core::starknet::contract_address::ContractAddress";
}, {
readonly name: "amount";
readonly type: "core::integer::u256";
}];
readonly outputs: readonly [{
readonly type: "core::bool";
}];
readonly state_mutability: "external";
}, {
readonly type: "function";
readonly name: "approve";
readonly inputs: readonly [{
readonly name: "spender";
readonly type: "core::starknet::contract_address::ContractAddress";
}, {
readonly name: "amount";
readonly type: "core::integer::u256";
}];
readonly outputs: readonly [{
readonly type: "core::bool";
}];
readonly state_mutability: "external";
}];
}, {
readonly type: "impl";
readonly name: "ERC20CamelOnlyImpl";
readonly interface_name: "openzeppelin::token::erc20::interface::IERC20CamelOnly";
}, {
readonly type: "interface";
readonly name: "openzeppelin::token::erc20::interface::IERC20CamelOnly";
readonly items: readonly [{
readonly type: "function";
readonly name: "totalSupply";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly type: "core::integer::u256";
}];
readonly state_mutability: "view";
}, {
readonly type: "function";
readonly name: "balanceOf";
readonly inputs: readonly [{
readonly name: "account";
readonly type: "core::starknet::contract_address::ContractAddress";
}];
readonly outputs: readonly [{
readonly type: "core::integer::u256";
}];
readonly state_mutability: "view";
}, {
readonly type: "function";
readonly name: "transferFrom";
readonly inputs: readonly [{
readonly name: "sender";
readonly type: "core::starknet::contract_address::ContractAddress";
}, {
readonly name: "recipient";
readonly type: "core::starknet::contract_address::ContractAddress";
}, {
readonly name: "amount";
readonly type: "core::integer::u256";
}];
readonly outputs: readonly [{
readonly type: "core::bool";
}];
readonly state_mutability: "external";
}];
}, {
readonly type: "constructor";
readonly name: "constructor";
readonly inputs: readonly [{
readonly name: "name";
readonly type: "core::felt252";
}, {
readonly name: "symbol";
readonly type: "core::felt252";
}, {
readonly name: "decimals";
readonly type: "core::integer::u8";
}, {
readonly name: "initial_supply";
readonly type: "core::integer::u256";
}, {
readonly name: "recipient";
readonly type: "core::starknet::contract_address::ContractAddress";
}, {
readonly name: "permitted_minter";
readonly type: "core::starknet::contract_address::ContractAddress";
}, {
readonly name: "provisional_governance_admin";
readonly type: "core::starknet::contract_address::ContractAddress";
}, {
readonly name: "upgrade_delay";
readonly type: "core::integer::u64";
}];
}, {
readonly type: "function";
readonly name: "increase_allowance";
readonly inputs: readonly [{
readonly name: "spender";
readonly type: "core::starknet::contract_address::ContractAddress";
}, {
readonly name: "added_value";
readonly type: "core::integer::u256";
}];
readonly outputs: readonly [{
readonly type: "core::bool";
}];
readonly state_mutability: "external";
}, {
readonly type: "function";
readonly name: "decrease_allowance";
readonly inputs: readonly [{
readonly name: "spender";
readonly type: "core::starknet::contract_address::ContractAddress";
}, {
readonly name: "subtracted_value";
readonly type: "core::integer::u256";
}];
readonly outputs: readonly [{
readonly type: "core::bool";
}];
readonly state_mutability: "external";
}, {
readonly type: "function";
readonly name: "increaseAllowance";
readonly inputs: readonly [{
readonly name: "spender";
readonly type: "core::starknet::contract_address::ContractAddress";
}, {
readonly name: "addedValue";
readonly type: "core::integer::u256";
}];
readonly outputs: readonly [{
readonly type: "core::bool";
}];
readonly state_mutability: "external";
}, {
readonly type: "function";
readonly name: "decreaseAllowance";
readonly inputs: readonly [{
readonly name: "spender";
readonly type: "core::starknet::contract_address::ContractAddress";
}, {
readonly name: "subtractedValue";
readonly type: "core::integer::u256";
}];
readonly outputs: readonly [{
readonly type: "core::bool";
}];
readonly state_mutability: "external";
}, {
readonly type: "event";
readonly name: "openzeppelin::token::erc20_v070::erc20::ERC20::Transfer";
readonly kind: "struct";
readonly members: readonly [{
readonly name: "from";
readonly type: "core::starknet::contract_address::ContractAddress";
readonly kind: "data";
}, {
readonly name: "to";
readonly type: "core::starknet::contract_address::ContractAddress";
readonly kind: "data";
}, {
readonly name: "value";
readonly type: "core::integer::u256";
readonly kind: "data";
}];
}, {
readonly type: "event";
readonly name: "openzeppelin::token::erc20_v070::erc20::ERC20::Approval";
readonly kind: "struct";
readonly members: readonly [{
readonly name: "owner";
readonly type: "core::starknet::contract_address::ContractAddress";
readonly kind: "data";
}, {
readonly name: "spender";
readonly type: "core::starknet::contract_address::ContractAddress";
readonly kind: "data";
}, {
readonly name: "value";
readonly type: "core::integer::u256";
readonly kind: "data";
}];
}, {
readonly type: "event";
readonly name: "src::replaceability_interface::ImplementationAdded";
readonly kind: "struct";
readonly members: readonly [{
readonly name: "implementation_data";
readonly type: "src::replaceability_interface::ImplementationData";
readonly kind: "data";
}];
}, {
readonly type: "event";
readonly name: "src::replaceability_interface::ImplementationRemoved";
readonly kind: "struct";
readonly members: readonly [{
readonly name: "implementation_data";
readonly type: "src::replaceability_interface::ImplementationData";
readonly kind: "data";
}];
}, {
readonly type: "event";
readonly name: "src::replaceability_interface::ImplementationReplaced";
readonly kind: "struct";
readonly members: readonly [{
readonly name: "implementation_data";
readonly type: "src::replaceability_interface::ImplementationData";
readonly kind: "data";
}];
}, {
readonly type: "event";
readonly name: "src::replaceability_interface::ImplementationFinalized";
readonly kind: "struct";
readonly members: readonly [{
readonly name: "impl_hash";
readonly type: "core::starknet::class_hash::ClassHash";
readonly kind: "data";
}];
}, {
readonly type: "event";
readonly name: "src::access_control_interface::RoleGranted";
readonly kind: "struct";
readonly members: readonly [{
readonly name: "role";
readonly type: "core::felt252";
readonly kind: "data";
}, {
readonly name: "account";
readonly type: "core::starknet::contract_address::ContractAddress";
readonly kind: "data";
}, {
readonly name: "sender";
readonly type: "core::starknet::contract_address::ContractAddress";
readonly kind: "data";
}];
}, {
readonly type: "event";
readonly name: "src::access_control_interface::RoleRevoked";
readonly kind: "struct";
readonly members: readonly [{
readonly name: "role";
readonly type: "core::felt252";
readonly kind: "data";
}, {
readonly name: "account";
readonly type: "core::starknet::contract_address::ContractAddress";
readonly kind: "data";
}, {
readonly name: "sender";
readonly type: "core::starknet::contract_address::ContractAddress";
readonly kind: "data";
}];
}, {
readonly type: "event";
readonly name: "src::access_control_interface::RoleAdminChanged";
readonly kind: "struct";
readonly members: readonly [{
readonly name: "role";
readonly type: "core::felt252";
readonly kind: "data";
}, {
readonly name: "previous_admin_role";
readonly type: "core::felt252";
readonly kind: "data";
}, {
readonly name: "new_admin_role";
readonly type: "core::felt252";
readonly kind: "data";
}];
}, {
readonly type: "event";
readonly name: "src::roles_interface::GovernanceAdminAdded";
readonly kind: "struct";
readonly members: readonly [{
readonly name: "added_account";
readonly type: "core::starknet::contract_address::ContractAddress";
readonly kind: "data";
}, {
readonly name: "added_by";
readonly type: "core::starknet::contract_address::ContractAddress";
readonly kind: "data";
}];
}, {
readonly type: "event";
readonly name: "src::roles_interface::GovernanceAdminRemoved";
readonly kind: "struct";
readonly members: readonly [{
readonly name: "removed_account";
readonly type: "core::starknet::contract_address::ContractAddress";
readonly kind: "data";
}, {
readonly name: "removed_by";
readonly type: "core::starknet::contract_address::ContractAddress";
readonly kind: "data";
}];
}, {
readonly type: "event";
readonly name: "src::roles_interface::UpgradeGovernorAdded";
readonly kind: "struct";
readonly members: readonly [{
readonly name: "added_account";
readonly type: "core::starknet::contract_address::ContractAddress";
readonly kind: "data";
}, {
readonly name: "added_by";
readonly type: "core::starknet::contract_address::ContractAddress";
readonly kind: "data";
}];
}, {
readonly type: "event";
readonly name: "src::roles_interface::UpgradeGovernorRemoved";
readonly kind: "struct";
readonly members: readonly [{
readonly name: "removed_account";
readonly type: "core::starknet::contract_address::ContractAddress";
readonly kind: "data";
}, {
readonly name: "removed_by";
readonly type: "core::starknet::contract_address::ContractAddress";
readonly kind: "data";
}];
}, {
readonly type: "event";
readonly name: "openzeppelin::token::erc20_v070::erc20::ERC20::Event";
readonly kind: "enum";
readonly variants: readonly [{
readonly name: "Transfer";
readonly type: "openzeppelin::token::erc20_v070::erc20::ERC20::Transfer";
readonly kind: "nested";
}, {
readonly name: "Approval";
readonly type: "openzeppelin::token::erc20_v070::erc20::ERC20::Approval";
readonly kind: "nested";
}, {
readonly name: "ImplementationAdded";
readonly type: "src::replaceability_interface::ImplementationAdded";
readonly kind: "nested";
}, {
readonly name: "ImplementationRemoved";
readonly type: "src::replaceability_interface::ImplementationRemoved";
readonly kind: "nested";
}, {
readonly name: "ImplementationReplaced";
readonly type: "src::replaceability_interface::ImplementationReplaced";
readonly kind: "nested";
}, {
readonly name: "ImplementationFinalized";
readonly type: "src::replaceability_interface::ImplementationFinalized";
readonly kind: "nested";
}, {
readonly name: "RoleGranted";
readonly type: "src::access_control_interface::RoleGranted";
readonly kind: "nested";
}, {
readonly name: "RoleRevoked";
readonly type: "src::access_control_interface::RoleRevoked";
readonly kind: "nested";
}, {
readonly name: "RoleAdminChanged";
readonly type: "src::access_control_interface::RoleAdminChanged";
readonly kind: "nested";
}, {
readonly name: "GovernanceAdminAdded";
readonly type: "src::roles_interface::GovernanceAdminAdded";
readonly kind: "nested";
}, {
readonly name: "GovernanceAdminRemoved";
readonly type: "src::roles_interface::GovernanceAdminRemoved";
readonly kind: "nested";
}, {
readonly name: "UpgradeGovernorAdded";
readonly type: "src::roles_interface::UpgradeGovernorAdded";
readonly kind: "nested";
}, {
readonly name: "UpgradeGovernorRemoved";
readonly type: "src::roles_interface::UpgradeGovernorRemoved";
readonly kind: "nested";
}];
}];