Acala icon indicating copy to clipboard operation
Acala copied to clipboard

module-partners

Open xlc opened this issue 1 year ago • 0 comments

  • module-partners
    • Types
      • type PartnerId = u32
      • trait OnFeeDeposited
        • fn on_fee_deposited(origin: AccountId, currency: CurrencyId, amount: Balance)
    • Config
      • RegisterFee: Get<Balance>
        • 10 ACA / KAR
      • PalletId: Get<PalletId>
      • AdminOrigin: EnsureOrigin
      • ReferralExpire: Get<BlockNumber>
      • TreasuryAccount: Get<AccountId>
    • Storages
      • NextId: PartnerId
      • Partners: PartnerId => Cid
      • Referral: AccountId => (PartnerId, BlockNumber)
        • Partner Id and expiry date
    • Calls
      • fn register_partner(origin, metadata: Cid)
        • ensure_signed
        • make new sub account using NextId as partner account
        • transfer Registerfee to treasury
        • add origin as full proxy to partner account
      • fn set_referral(origin, partner: PartnerId)
        • ensure signed
        • Update Referral
      • fn admin_register_partnerl(origin, owner: AccountId, metadata: Cid)
        • ensure AdminOrigin
        • similar to register_partner but no deposit
      • fn update_parnter(origin, id: PartnerId, metadata: Cid)
        • ensure AdminOrigin
        • Update the partner data metadata
    • Pallet
      • impl OnFeeDeposited
        • fn on_fee_deposited(origin: AccountId, currency: CurrencyId, amount: Balance)
          • read referral, if it is expired, use treasury
          • transfer from origin to partner account
          • do nothing if transfer failed (due to ED)

xlc avatar Jul 29 '22 03:07 xlc